Skip to content

Zero values

In Go, variables declared without an explicit initial value are automatically assigned a zero value. This is the default value for each type.

TypeZero value
boolfalse
numeric (int, float, etc.)0
string"" (empty string)
pointers, slices, maps, channels, functions, interfacesnil

Declare variables without initialization and print their zero values.

package main
import "fmt"
func main() {
var a bool
var b int
var c float64
var d string
var e []int
var f map[string]int
fmt.Printf("bool: %v\n", a)
fmt.Printf("int: %v\n", b)
fmt.Printf("float64: %v\n", c)
fmt.Printf("string: %q\n", d)
fmt.Printf("slice: %v\n", e)
fmt.Printf("map: %v\n", f)
}
Terminal window
bool: false
int: 0
float64: 0
string: ""
slice: []
map: map[]