Chciałbym wysłać sekwencje klawiszy użytkownika do kanału bezpośrednio po każdym naciśnięciu klawisza na standardowe wejście.Wyślij sygnały stdin do kanału bez wymaganej nowej linii.
Podjęto próbę kodu poniżej, ale nie daje to pożądanego rezultatu, ponieważ metoda reader.ReadByte()
blokuje do momentu wprowadzenia nowej linii.
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
}
Dziękuję za wszelkie rady, w jaki sposób mogę uzyskać każdy znak wprowadzone przez użytkownika, aby przejść bezpośrednio do kanału bez konieczności znakiem nowej linii.
Dzięki za informacje. Cieszę się, że zadałem to pytanie, bo inaczej bezskutecznie próbowałem sprawić, by działało to jeszcze dłużej. W każdym razie lubię sugestie termbox/ncurses, o których wspomnieliście wraz z Rami. Nigdy nie brałem pod uwagę tego podejścia, ale termbox w szczególności wydaje się bardzo przystępny i powinien robić dokładnie to, co chcę. – Kim