无缓冲输入就是按键实时响应不需要按下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