目录
  • 问题
    • Scan
    • Scanf
    • Scanln
  • 解决

    问题

    Go语言的输入Scan,无论是Scanf,还是Scanln还是其他,都是以空格结束输入的。

    但是我们输入可能是带空格的。
    比如 Fan One 666

    Scan

    var msg string
    _,_ =fmt.Scan(&msg)
    fmt.Printf(msg)
    

    使用Go语言解决Scan空格结束输入问题

    Scanf

    var msg string
    _,_ =fmt.Scanf("%s",&msg)
    fmt.Printf(msg)
    

    使用Go语言解决Scan空格结束输入问题

    Scanln

    var msg string
    _,_ =fmt.Scanln(&msg)
    fmt.Printf(msg)
    

    使用Go语言解决Scan空格结束输入问题

    可以看出三个都是这样,空格就结束了输入

    解决

    那我们就不能用Scan了,转用bufio的标准输入输出格式

    var msg string
    reader := bufio.NewReader(os.Stdin) // 标准输入输出
    msg,_ = reader.ReadString('\n')  // 回车结束
    msg = strings.TrimSpace(msg)    // 去除最后一个空格
    fmt.Printf(msg)
    

    使用Go语言解决Scan空格结束输入问题

    问题解决了。

    以上就是使用Go语言解决Scan空格结束输入问题的详细内容,更多关于Go解决Scan空格结束输入问题的资料请关注其它相关文章!

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。