Я пытаюсь создать клиент обмена сообщениями с терминальным интерфейсом. Проблема в том, что я хочу напечатать сообщения на стандартный вывод, когда пользователь может вводить стандартный ввод. Когда я делаю это, пользовательский ввод, введенный в 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»