从控制台读取输入
使用 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())
}