如何解决如何在Golang中写入stdin?
这是我的代码
func InputRead() string {
reader := bufio.NewReader(os.Stdin);
fmt.Print("> ");
text,_ := reader.ReadString('\n');
text = strings.Replace(text,"\n","",-1);
}
我想在os.Stdin中放置一些字符串,我将如何实现?
它应该出现> HAHA
,然后我的光标应该可以删除与<input>
类似的HAHA,并带有HTML中的预填充文本。
在python3中,其实现方式如下
def stdininput(prompt,text):
def hook():
readline.insert_text(text)
readline.redisplay()
readline.set_pre_input_hook(hook)
result = input(prompt)
readline.set_pre_input_hook()
return result
import readline
print(stdininput('> ','haha'))
对于那些觉得难以理解的人,我只是要求输入某些文本(要求输入时键入的文本,可以将其删除)而无需键入。就像是否要求用户输入,而我想提供默认输入,这样用户不必键入。
解决方法
此后,没有人回答。经过很长一段时间的所有功能后,我像kostix所说的那样从readline库中找到了一个功能。因此,这里是示例程序。
root@kali-linux:/tmp# cat main.go
package main
import "github.com/chzyer/readline"
import "fmt"
func main() {
input,_ := readline.New("> ");
defer input.Close();
datax := "Hey niko my friend"; //GTA IV
data2 := []byte(datax);
input.WriteStdin(data2);
value,_ := input.Readline()
fmt.Println(value);
}
root@kali-linux:/tmp# go run main.go
> Hey niko my friend
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。