如何在 Windows 中使用 Golang 读取字符而无需返回键?

How to read a char with Golang in Windows without requiring return key?

提问人:Julio Martínez 提问时间:9/20/2022 最后编辑:Julio Martínez 更新时间:9/21/2022 访问量:169

问:

在我在 MS Windows 上运行的 Go 程序中,我想获得带有 y/n/a 键的“删除文件”操作的确认,并且它将被重复很多次。而且我不想每次都按回车键。

我尝试过从 Go 中的标准输入中读取字符(不按 Enter)中的答案,但没有成功。

  1. 答案基于 It is for UNIXexec.Command("stty", "-F", "/dev/tty", "cbreak", "min", "1").Run()
  2. 基于termbox-go的答案,对于我需要的东西来说有点矫枉过正,只是为了阅读一个字符。我没有时间学习和使用 termbox-go
  3. getchar.go的 它适用于OSX
  4. https://github.com/eiannone/keyboard它挂起并且不读取击键
  5. golang.org/x/term 给出错误term.MakeRaw(int(os.Stdin.Fd()))The handle is invalid
  6. 下一个答案:它仅适用于Linux
  7. 最后一个答案没有显示如何读取字符

对 Windows 有什么建议吗?我发现 Golang 没有类似于 的内置方法有点了不起,或者至少在包中,例如,readRune 或 readByte 仍然需要,即使您应该只读取其中之一。getChar()iobufioEnter

Windows Go IO GetChar

评论

0赞 realtebo 4/12/2023
还没有回复?我有同样的问题。我必须接受一个字符,然后在不按 Enter 键的情况下使用一个字符
1赞 Julio Martínez 4/12/2023
不,我放弃了......我不知道是否有新的库或更新可以提供解决方案。

答: 暂无答案