$ echo 'Go is awesome!' | go run reader.go Received: 476F206973206177 Go is aw Received: 65736F6D65210A00 esome!

Go进程的stdin可以通过os包的Stdin获取。 实际上,它是一个实现Reader接口的File类型。 从Reader里读取是非常容易的。 前面的代码展示了如何从Stdin读取的三种非常常见的方法。

第一个例子演示了fmt包的使用,它提供了ScanScanfScanln函数。Scanf函数将输入写入给定变量。Scanf的优点是你可以确定扫描值的格式。Scan函数只是将输入写入变量(没有预定义格式),Scanln顾名思义,读取以换行符结束的输入。

Scanner是第二个例子,它提供了扫描较大输入的便捷方式。Scanner 包含了Split功能,通过该功能可以自定义分割功能。 例如,要扫描stdin中的单词,可以使用bufio.ScanWords作为预定义的SplitFunc

通过Reader API读取是最后提出的方法。 这个可以让你更好地控制输入的读取方式。

分类:
后端
标签: