Есть ли способ очистить последнюю строку стандартного ввода, а затем восстановить его? - PullRequest
0 голосов
/ 05 января 2019

Я пытаюсь создать клиент обмена сообщениями с терминальным интерфейсом. Проблема в том, что я хочу напечатать сообщения на стандартный вывод, когда пользователь может вводить стандартный ввод. Когда я делаю это, пользовательский ввод, введенный в stdin, прерывается сообщением. Есть ли способ очистить последнюю строку стандартного ввода, затем распечатать на стандартный вывод и затем восстановить последнюю строку стандартного ввода, чтобы пользователь мог закончить свое сообщение?

В настоящее время я читаю со стандартного ввода с bufio.Reader.ReadString('\n') и я печатаю на стандартный вывод с обычными функциями fmt.Println и fmt.Printf

Пример текущей ситуации:

# user is typing message
Hey Stan ho
# message from other user comes in
# it is: "Hey Bart"
# last line in terminal is now:
Hey Stan hoHey bart

Я хочу очистить «Hey Stan ho», затем напечатать входящее сообщение и затем вернуть «Hey Stan ho»

...