Go 从控制台读取多字字符串

Go 从控制台读取多字字符串,go,Go,我意识到以下内容只读取一个单词字符串- fmt.Scan(&sentence) 如何读取多单词字符串-如中所示,字符串句子应存储包含多个单词的字符串。您的问题涉及扫描空格分隔的输入。fmt.Scan的定义说明: 因此,根据定义,输入会一直扫描到找到第一个空间为止。要进行扫描,假设在命令行上点击\n之前,您可以使用注释中的代码: 此线程也可能有用:还可以使用InputReader从控制台扫描和打印多个单词 解决方案代码如下所示: package main import ( "b

我意识到以下内容只读取一个单词字符串-

fmt.Scan(&sentence)

如何读取多单词字符串-如中所示,字符串
句子
应存储包含多个单词的字符串。

您的问题涉及扫描空格分隔的输入。
fmt.Scan
的定义说明:

因此,根据定义,输入会一直扫描到找到第一个空间为止。要进行扫描,假设在命令行上点击
\n
之前,您可以使用注释中的代码:


此线程也可能有用:

还可以使用
InputReader
从控制台扫描和打印多个单词

解决方案代码如下所示:

package main

import (
    "bufio"
    "fmt"
    "os"
)

func main() {
    inputReader := bufio.NewReader(os.Stdin)
    input, _ := inputReader.ReadString('\n')
    fmt.Println(input)
}
控制台输入:

我们走吧

控制台输出:

我们走吧

注:

要运行GOLANG程序,请打开命令提示符或powershell,导航到程序文件所在的目录,然后键入以下命令:

go run file_name.go

可能的副本与引用的链接非常相似,但可能不是“googleable”。OP-您应该看看这个包(正如该链接中所指出的)。
package main

import (
    "bufio"
    "fmt"
    "os"
)

func main() {
    inputReader := bufio.NewReader(os.Stdin)
    input, _ := inputReader.ReadString('\n')
    fmt.Println(input)
}
go run file_name.go