我正在尝试扫描 Go 中的向上和向下箭头键代码,但它似乎不起作用。到目前为止,我已经尝试过:
in = bufio.NewReader(os.Stdin)
b, err := in.ReadByte()
fmt.Println("Key code:", b, err)
但是当我按下向上或向下键时,它永远不会停止读取(它永远不会运行Println
语句)并且直接在终端中显示“^[[A”和“^[[B”。任何的想法?
我相当肯定如果没有 os 系统调用,您将无法轻松获得原始模式输入。查看从 Go 中的标准输入读取字符的答案(无需按 Enter) 。
似乎普遍接受的解决方案是使用termbox-go,它显然具有相当好的跨平台能力。