【问题标题】:How to set inital value of text input in Golang?如何在 Golang 中设置文本输入的初始值?
【发布时间】:2018-04-16 19:43:28
【问题描述】:

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

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

会输出:

Enter text:

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

Enter text: english

【问题讨论】:

    标签: go text input stdin gofmt


    【解决方案1】:

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

    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
    }
    

    【讨论】:

    • 这不会设置输入文本的初始值。我的目标是让它在运行时就像已经输入了“英语”这个词
    • 我不知道怎么做,所以我想分享一下我看到的其他命令行应用程序处理默认值场景的方式。
    猜你喜欢
    • 1970-01-01
    • 2021-11-03
    • 2010-10-04
    • 1970-01-01
    • 2014-01-23
    • 1970-01-01
    • 2017-04-03
    • 2017-08-19
    • 2018-05-01
    相关资源
    最近更新 更多