Standard output is more or less equivalent to printing on the screen. However, using standard output might require the use of functions that do not belong to the fmt package, which is why it is presented in its own section.
The relevant technique will be illustrated in stdOUT.go and will be offered in three parts. The first part of the program is as follows:
package main import ( "io" "os" )
So, stdOUT.go will use the io package instead of the fmt package. The os package is used for reading the command-line arguments of the program and for accessing os.Stdout.
The second portion of stdOUT.go contains the following Go code:
func main() { myString := "" arguments := os.Args if len(arguments) == 1 { myString = "Please give me one argument!" } else { myString = arguments[1] }
The myString variable holds the text that will be printed on the screen, which is either the first command-line argument of the program or, if the program was executed without any command-line arguments, a hardcoded text message.
The third part of the program is as follows:
io.WriteString(os.Stdout, myString) io.WriteString(os.Stdout, "\n") }
In this case, the io.WriteString() function works in the same way as the fmt.Print() function; however, it takes only two parameters. The first parameter is the file you want to write to, which, in this case, is os.Stdout, and the second parameter is a string variable.
Executing stdOUT.go will produce the following output:
$ go run stdOUT.go Please give me one argument! $ go run stdOUT.go 123 12 123
The preceding output verifies that the io.WriteString() function sends the contents of its second parameter onto the screen when its first parameter is os.Stdout.