Go Output Functions
Go has three functions to output text:
Print()
Println()
Printf()
The Print() Function
The Print()
function prints its arguments with their default format.
Example
Print the values of i
and j
:
package main
import ("fmt")
func main() {
var i,j string = "Hello","World"
fmt.Print(i)
fmt.Print(j)
}
Result:
HelloWorld
Example
If we want to print the arguments in new lines, we need to use \n
.
package main
import ("fmt")
func main() {
var i,j string = "Hello","World"
fmt.Print(i, "\n")
fmt.Print(j, "\n")
}
Result:
Hello
World
Tip: \n
creates new lines.
Example
It is also possible to only use one Print()
for printing multiple variables.
package main
import ("fmt")
func main() {
var i,j string = "Hello","World"
fmt.Print(i, "\n",j)
}
Result:
Hello
World
Example
If we want to add a space between string arguments, we need to use " ":
package main
import ("fmt")
func main() {
var i,j string = "Hello","World"
fmt.Print(i, " ", j)
}
Result:
Hello World
Example
Print()
inserts a space between the arguments if neither are strings:
package main
import ("fmt")
func main() {
var i,j = 10,20
fmt.Print(i,j)
}
Result:
10 20
The Println() Function
The Println()
function is similar to Print()
with the difference that a whitespace is added between the arguments, and a newline is added at the end:
Example
package main
import ("fmt")
func main() {
var i,j string = "Hello","World"
fmt.Println(i,j)
}
Result:
Hello World
The Printf() Function
The Printf()
function first formats its argument based on the given formatting verb and then prints them.
Here we will use two formatting verbs:
%v
is used to print the value of the arguments%T
is used to print the type of the arguments
Example
package main
import ("fmt")
func main() {
var i string = "Hello"
var j int = 15
fmt.Printf("i has value: %v and type: %T\n", i, i)
fmt.Printf("j has value: %v and type: %T", j, j)
}
Result:
i has value: Hello and type: string
j has value: 15 and type: int
Tip: Look at all the formatting verbs in the Go Formatting Verbs chapter.