如何在Golang中设置文本输入的初始值?

时间:2017-11-04 01:39:34

标签: go text input stdin gofmt

我知道您可以通过执行以下操作来调用用户的文本输入:

fmt.Print("Enter text: ")
reader := bufio.NewReader(os.Stdin)
text, _ := reader.ReadString('\n')

哪个会输出:

Enter text:

但是有没有办法为用户可以编辑的输入设置初始值。例如,如果初始值设置为“english”,那么输出将为:

Enter text: english

1 个答案:

答案 0 :(得分:0)

我的建议是将默认值放在提示符中:

def := "english"
fmt.Printf("Enter text (%s): ", def)
reader := bufio.NewReader(os.Stdin)
text, _ := reader.ReadString('\n')
text = strings.TrimSuffix(text, "\n")
if text == "" {
    text = def
}