使用标准包bufio
下的NewScanner
方法,将标准输入os.Stdin
作为参数传入。然后,可以使用scanner.Scan()
方法扫描每一行输入,并将其存储至变量中。
示例代码如下:
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
scanner := bufio.NewScanner(os.Stdin) // 使用 bufio 包的 NewScanner 方法初始化一个 Scanner 实例,将标准输入作为参数传入
for scanner.Scan() { // 循环读取标准输入中的每一行
line := scanner.Text() // 使用 Text 方法获取该行内容并存入变量
fmt.Println(line) // 输出该行内容
}
if err := scanner.Err(); err != nil { // 如果出现错误,输出错误信息
fmt.Fprintln(os.Stderr, "reading standard input:", err)
}
}
在执行该程序时,可以通过输入内容并按下回车键,将输入的内容传递至程序中,程序将会输出每一行输入:
$ go run main.go
Hello, world!
Hello, world!
Golang is awesome!
Golang is awesome!
^C # 按下 Ctrl+C 结束程序