从控制台读取输入

使用 scanf

Scanf 扫描从标准输入读取的文本,将连续的空格分隔值存储到由格式确定的连续参数中。它返回成功扫描的项目数。如果这小于参数的数量,则错误将报告原因。输入中的换行符必须与格式中的换行符匹配。一个例外:动词%c 始终扫描输入中的下一个符文,即使它是空格(或制表符等)或换行符。

 # Read integer 
 var i int
 fmt.Scanf("%d", &i)

 # Read string 
 var str string
 fmt.Scanf("%s", &str)

使用 scan

扫描扫描从标准输入读取的文本,将连续的空格分隔值存储到连续的参数中。换行计为空格。它返回成功扫描的项目数。如果这小于参数的数量,则错误将报告原因。

 # Read integer 
 var i int
 fmt.Scan(&i)

 # Read string 
 var str string
 fmt.Scan(&str)

使用 scanln

Sscanln 与 Sscan 类似,但在新行停止扫描,在最终项目之后必须有换行符或 EOF。

# Read string
var input string
fmt.Scanln(&input)

使用 bufio

# Read using Reader
reader := bufio.NewReader(os.Stdin)
text, err := reader.ReadString('\n')

# Read using Scanner
scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
    fmt.Println(scanner.Text())
}