# 行过滤器
对 stdin 上的输入进行处理
例如 linux 的 grep, sed 命令
使用 bufio.NewScanner() 包装 无缓冲的os.Stdin
- 使用 Scan() 方法前进到下一个令牌
- 令牌默认是换行
- 使用 Text() 方法
func main() {
scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
ucl := strings.ToUpper(scanner.Text())
fmt.Println(ucl)
}
if err := scanner.Err(); err != nil {
fmt.Fprintln(os.Stderr, "error:", err)
os.Exit(1)
}
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12