【发布时间】:2017-09-07 02:16:41
【问题描述】:
$ echo "A 1 2 3 4" | go run test.go
entire: A
next field: A
我需要从标准输入中读取几行,例如“A 1 2 3 4”(代码现在只写一行)并且出现问题。 Scanln 应该读取整行,Fields 应该用换行符分割它?为什么 Scanln 只能读一个字?
package main
import (
"fmt"
"strings"
)
func main() {
var line string
fmt.Scanln(&line)
fmt.Println("entire: ",line)
for _,x := range strings.Fields(line) {
fmt.Println("next field: ",x)
}
}
$ echo "A 1 2 3 4" | go run test.go
entire: A
next field: A
【问题讨论】: