user3698624
user3698624

Reputation: 225

Changing value of printed line

in my go-application which is cli-based I Need to update some values which are already printed. I already found a stackoverflow-question where I got to know that with \r the "Output-pointer" points to the first char of the former line, therefore overriding it. But multiple \rs arent working... So how do I update e.g. the second line I printed. Example:

#Id    #Name    #pwr    #dB
0      Name     unkn    -34

And I want to update those values without printing new lines

#Id    #Name    #pwr    #dB
0      NewName  45      -34

Upvotes: 1

Views: 47

Answers (1)

Simon
Simon

Reputation: 32873

To do anything more than changing the current line, as you noticed, \r won't work. The solution is to set your terminal in a different mode which allow more control. However, this is painful to do by hand. Luckily, there are libraries out there that makes it easy. A very famous one is ncurses.

For Go, GoCUI looks great. It should give you all the power you need with a nice interface.

Upvotes: 2

Related Questions