无缓冲输入就是按键实时响应不需要按下Enter键才执行相应的命令,这里我提供了一个类似c语言函数‘getch’的接口。
返回的特殊代码对应如下:
const ( SYS_UP = 1000 + iota SYS_DOWN SYS_LEFT SYS_RIGHT SYS_PARSE )这里只做特殊的上下左右以及粘贴处理,为迎合粘贴功能getch接口返回两个参数,int类型即返回通常的按键值, string类型则返回‘SYS_PARSE’和粘贴进来的字符串信息。
当然如果你还有其他的特殊按键组合也可以再加上特殊处理,这里后续可能再提供相应的接口。
接口如下:
func getch() (int, string) { ...... }
源码即使用已上传githup:
https://github.com/qianlnk/terminal/blob/master/nobufio.go
有疑问加站长微信联系(非本文作者)