Senden Sie Standardtastenanschläge an den Kanal, ohne dass ein Zeilenvorschub erforderlich ist

Ich möchte die Tastenanschläge des Benutzers direkt nach jedem einzelnen Tastendruck auf stdin an einen Kanal senden.

Ich habe versucht, den Code unten, aber dies gibt nicht das gewünschte Ergebnis, weil diereader.ReadByte() Methodenblöcke bis Newline eingegeben wird.

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
}

Vielen Dank für Hinweise, wie ich jedes Benutzereingabezeichen dazu bringen kann, sofort in den Kanal zu gelangen, ohne dass ein Zeilenumbruch erforderlich ist.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage