【发布时间】:2015-01-27 16:13:12
【问题描述】:
我在 Go 中有一个 REPL 应用程序,它应该对键盘按下事件做出反应(每个按键按下的键都有不同的操作),但 ReadString 期望在读取 os.Stdin 之前按下返回键:
import (
"bufio"
"os"
)
for {
reader := bufio.NewReader(os.Stdin)
key, _ := reader.ReadString('\n')
deferKey(key)
}
如何响应 Go 中的按键事件?
【问题讨论】:
-
所以我需要使用 ncurses 吗?使用内置包没有办法做到这一点?
-
github.com/zetamatta/nyagos 或 github.com/rocky/go-fish/blob/… 可以给你一些线索,但我不确定是否有跨平台的方式。
-
我遇到了同样的问题,但找不到令人满意的解决方案,所以我自己写了一个little package。非常感谢任何反馈:)。
标签: go