golang实现“按任意键退出”

2020-07-01 16:37:53 浏览数 (1)

本意想实现一个按任意键退出的脚本。

最开始的想法是用fmt.Scan去实现,但是这样做的话目测看起来很不优雅,总是最后得按回车键才能真正退出,而不能实现我们所说的按任意键(只按一个键)就退出,在网上看了搜索了一圈,基本上大家的想法都差不多。

直到更换关键词,重新搜索,发现了一个实现的比较有意思的实现:直接读取长度为一个字节系统标准输入,读取到了就执行结束了,否则就阻塞。

代码语言:javascript复制
    fmt.Printf("Press any key to exit...")
    b := make([]byte, 1)
    os.Stdin.Read(b)

参考来源:Keep prompt window open when running .exe (windows)

0 人点赞