标准输出差不多就是在屏幕打印的意思。然而,使用标准输出需要使用一些fmt
包之外的函数,这也是我们为什么单独一节来展示这些内容。
相关的技术细节会在stdOUT.go
文件中展示,我们分三部分分析这个文件。第一部分是这样的:
package main
import (
"io"
"os"
)
由这部分可以看出,我们将要是io包而不是fmt包。os用来读取命令行参数,访问标准输出os.Stdout
。
stdOUT.go
文件的第二部分包含以下这些代码:
func main() {
myString := ""
arguments := os.Args
if len(arguments) == 1 {
myString = "Please give me one argument!"
} else {
myString = arguments[1]
}
变量myString
包含将要被打印到屏幕的数据,或者是第一个命令行参数,或者当程序没有命令行参数的时候,是一段硬编码的消息。
程序的第三部分是这样的:
io.WriteString(os.Stdout, myString)
io.WriteString(os.Stdout, "\n")
}
在这里,函数io.WriteString()
函数和函数fmt.Print()
的工作方式是一样的。区别是前者只接收两个参数,第一个参数是你要写入的文件,在这里,就是os.Stdout
,第二个参数就是一个字符串变量。
执行stdOUT.go
程序,会得到以下输出内容:
$ go run stdOUT.go
Please give me one argument!
$ go run stdOUT.go 123 12
123
上面的输出验证了函数io.WriteString()
的作用就是当第一个参数是os.Stdout
,发送第二个参数的内容到屏幕