Skip to content

Latest commit

 

History

History
51 lines (38 loc) · 1.56 KB

File metadata and controls

51 lines (38 loc) · 1.56 KB

使用标准输出

标准输出差不多就是在屏幕打印的意思。然而,使用标准输出需要使用一些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,发送第二个参数的内容到屏幕