golang实现无缓冲输入(getch)

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



你可能感兴趣的:(GOlang)