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.

  1. fmt.Println() prints a new line at the end by default.
  2. 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.

Working of Printf() with integer format specifier %d.
Printf() function in Go Programming

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:

Working of Format Specifiers %d and %s in Go
Working of Format Specifier in Go

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.

Did you find this article helpful?