Reputation: 225
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 \r
s 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
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