我试图在Go中扫描向上和向下箭头键代码,但它似乎无法正常工作。到目前为止,我已经尝试过这个:
in = bufio.NewReader(os.Stdin)
b, err := in.ReadByte()
fmt.Println("Key code:", b, err)
但是当我按下向上或向下键时,它永远不会停止阅读(它从不运行Println
语句)并且只显示" ^ [[A"和" ^ [[B"直接在终端。有什么想法吗?
答案 0 :(得分:3)
我很确定如果没有os系统调用,你就无法轻松获得原始模式输入。看看Read a character from standard input in Go (without pressing Enter)的答案。
似乎普遍接受的解决方案是使用显然具有相当好的跨平台功能的termbox-go。