为了账号安全,请及时绑定邮箱和手机立即绑定

如何对 Go 中的按键事件做出反应?

如何对 Go 中的按键事件做出反应?

Go
哔哔one 2021-09-09 13:52:20
我在 Go 中有一个 REPL 应用程序,它应该对键盘按下事件做出反应(每个按键按下的不同动作),但ReadString希望在阅读之前按下返回键os.Stdin:import (    "bufio"    "os")for {    reader := bufio.NewReader(os.Stdin)    key, _ := reader.ReadString('\n')    deferKey(key)}如何对 Go 中的按键事件做出反应?
查看完整描述

2 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

游戏引擎通常实现这种功能。它们通常也几乎与平台无关(通常至少是 Windows、Linux、Mac OS X)。尝试例如Azul3D 的键盘库。


逻辑是在我的头顶像


watcher := keyboard.NewWatcher()

// Query for the map containing information about all keys

status := watcher.States()

left := status[keyboard.ArrowLeft]

if left == keyboard.Down {

    // The arrow to left is being held down

    // Do something!

}

获取当前按下的键的列表是迭代映射并列出 value 为 Down 的键的问题。


查看完整回答
反对 回复 2021-09-09
  • 2 回答
  • 0 关注
  • 168 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信