我在Go中编写CLI向导。我想做的是询问用户他想做什么,准备适当的CLI命令,并将其写入控制台。然后,用户可以通过按Enter键将命令提交给CLI,可能是先编辑该命令。换句话说,我想将输出写入stdout,当用户按下Enter键时,该输出成为stdin的输入。 Go中有没有办法做到这一点?
最佳答案
为了直接从用户获取输入:
var s string
_, err := fmt.Scanf("%s", &s)
对于类似诅咒的应用程序,请看这里:
https://github.com/rthornton128/goncurses/blob/master/ncurses.go
它具有C绑定(bind)。