Go Print Statement
We use these three functions to print output messages in Go programming.
-
fmt.Print()
-
fmt.Println()
-
fmt.Printf()
Note
All these functions are defined under the fmt package. So, we must import the fmt package before we can use these functions.
Go fmt.Print()
Let's take an example.
// Program to illustrate fmt.Print()
package main
// import fmt package
import "fmt"
func main() {
fmt.Print("Hello, ")
fmt.Print("World!")
}
Output
Hello World!
Here, the fmt.Print() function prints the content inside parentheses ().
Print Variables
Here's how we print variables in Go programming.
// Program to illustrate fmt.Print()
package main
// import the fmt package
import "fmt"
func main() {
name := "John"
fmt.Print(name)
}
Output
John
Note
We must not wrap variables inside quotation marks while printing. Otherwise, it's considered as a string.
Printing Multiple Values At Once
We can print multiple values and variables at once by separating them with commas. For example,
// Program to illustrate fmt.Print()
package main
// import the fmt package
import "fmt"
func main() {
name := "John"
fmt.Print("Name: ", name)
}
Output
Name: John
Go fmt.Println()
The way fmt.Println() works is similar to how fmt.Print() works with a couple of differences.
-
fmt.Println() prints a new line at the end by default.
-
If we print multiple values and variables at once, a space is added between the values by default.
// Program to illustrate the use of Println() function
package main
import "fmt"
// prints output in different lines
func main() {
currentSalary := 50000
fmt.Println("Hello")
fmt.Println("World!")
fmt.Println("Current Salary:", currentSalary)
}
Output
Hello
World!
Current Salary: 50000
Things to notice
-
All the output messages are printed in separate lines
-
A space is added after Current Salary: by default
Go fmt.Printf()
The fmt.Printf()
function formats the strings and sends them to the screen. Let's see an example.
currentAge := 21
fmt.Printf("Age = %d", currentAge)
Here, the fmt.Printf()
function replaces the %d
with the value of currentAge
.
By the way, %d
is a format specifier that replaces integer variables with their values.
In Go, every data type has a unique format specifier.
Data Type | Format Specifier |
---|---|
integer | %d |
float | %g |
string | %s |
bool | %t |
Example: Using %g to print Float Values
// Program to print an integer using its format specifier %g
package main
import "fmt"
func main() {
var number annualSalary = 65000.5
fmt.Printf("Annual Salary: %g", annualSalary)
}
Output
Annual Salary: 65000.5
Here, fmt.Printf()
converts the "Annual Salary: %g"
string to "Annual Salary: 65000.5"
.
Example: Using format specifiers to hold value of a variable
A format string may also have multiple format specifiers.
package main
import "fmt"
func main() {
var name = "John"
age := 23
fmt.Printf("%s is %d years old.", name, age)
}
Output
John is 23 years old.
Here's how this code works:
Printing Without Package
It's also possible to print output without using the fmt
package. For that, we use print()
and println()
. For example,
// Program to print output using print() function
package main
func main() {
println("Using println instead of fmt.Println")
print("Using print instead of fmt.Print")
}
Output
Using println instead of fmt.Println
Using print instead of fmt.Print
Here, we have used println()
and print()
instead of fmt.Println()
and fmt.Print()
respectively.
Note
It's recommended to use the fmt package for printing. We usually use println(), print() only for debugging purposes. To learn more, visit fmt.Println() Vs println() in Go programming.