Отправить stdin нажатия клавиш на канал без новой строки требуется
Я хотел бы отправлять нажатия клавиш пользователя на канал непосредственно после того, как каждое отдельное нажатие клавиши вводится на стандартный ввод.
Я пытался выполнить приведенный ниже код, но это не дает желаемого результата, посколькуreader.ReadByte()
метод блокируется до ввода новой строки.
func chars() <-chan byte {
ch := make(chan byte)
reader := bufio.NewReader(os.Stdin)
go func() {
for {
char, err := reader.ReadByte()
if err != nil {
log.Fatal(err)
}
ch <- char
}
}()
return ch
}
Спасибо за любой совет о том, как я могу заставить каждый пользовательский символ ввода немедленно перейти на канал без необходимости символа новой строки.