Welcome To Golang By Example

Menu
  • Home
  • Blog
  • Contact Us
  • Support this website
Menu

Default Zero Value of all Types in Go (Golang) With Examples

Posted on January 4, 2020January 4, 2020 by admin

Default Value Table

Type Default Value
Integer 0
Float 0
Complex Number 0 Real and 0 Imaginary Part
Byte 0
Rune 0
String “”
Bool false
Array Every array value to its default
Struct Every field to its default
Map nil
Channel nil
Interface nil
Slices nil
Pointer nil
Function nil

Examples:

Let’s see an example of each. Use the menu on the side to navigate.

Integer

package main

import "fmt"

func main() {
    var a int
    fmt.Print("Default zero value of int: ")
    fmt.Println(a)
    
    var b uint
    fmt.Print("Default zero value of uint: ")
    fmt.Println(b)
}

Output:

Default zero value of int: 0
Default zero value of uint: 0

Float

package main
import "fmt"
func main() {
    var a float32
    fmt.Print("Default zero value of float: ")
    fmt.Println(a)
}

Output:

Default zero value of float: 0

Complex Number

package main
import "fmt"
func main() {
    var a complex64
    fmt.Print("Default zero value of complex: ")
    fmt.Println(a)
}

Output:

Default zero value of complex: (0+0i)

Byte

package main
import "fmt"
func main() {
    var a byte
    fmt.Print("Default zero value of byte: ")
    fmt.Println(a)
}

Output:

Default zero value of byte: 0

Rune

package main
import "fmt"
func main() {
    var a rune
    fmt.Print("Default zero value of rune: ")
    fmt.Println(a)
}

Output:

Default zero value of rune: 0

String

package main
import "fmt"
func main() {
    var a string
    fmt.Print("Default zero value of string: ")
    fmt.Println(a)
}

Output:

Default zero value of string:    //An emtpy string. Hence nothing is printed

Bool

package main
import "fmt"
func main() {
    var a bool
    fmt.Print("Default zero value of bool: ")
    fmt.Println(a)
}

Output:

Default zero value of bool: false

Array

Default value of an array is the default value of its values. For eg in the below code, there is an array of two lengths of type bool. When we print the output is [false false]

package main
import "fmt"
func main() {
    var a [2]bool
    fmt.Print("Default Zero Value of an array: ")
    fmt.Println(a)
}

Output:

Default Zero Value of a array: [false false]

Struct

Default value of a struct is the default value of its field. For eg in the below code, there is a struct sample with two field. One is of int type and the other is of the bool type. We create an instance of this struct and when we print it, the output is {0 false}

package main
import "fmt"
func main() {
    type sample struct {
        a int
        b bool
    }
    a := sample{}
    fmt.Print("Default Zero Value of an struct: ")
    fmt.Println(a)
}

Output:

Default Zero Value of a struct: {0 false} 

Map

Default value of a map is nil. That is why the output of fmt.Println(a==nil) is true. When a map is passed to fmt.Println , it tries to print values in the map. That is why the output is map[]

package main
import "fmt"
func main() {
    var a map[bool]bool
    fmt.Println(a == nil)
    fmt.Print("Printing map: ")
    fmt.Println(a)
}

Output:

true
Printing map: map[]

Channel

package main
import "fmt"
func main() {
    var a chan int
    fmt.Print("Default zero value of channel: ")
    fmt.Println(a)
}

Output:

Default zero value of channel: <nil>

Interface

package main
import "fmt"
func main() {
    var a chan interface{}
    fmt.Print("Default zero value of interface: ")
    fmt.Println(a)
}

Output:

Default zero value of interface: < nil>

Slice

Default value of a slice is nil. That is why the output of fmt.Println(a==nil) is true. When a slice is passed to fmt.Println , it tries to print values in the slice. That is why the output is []

package main
import "fmt"
func main() {
    var a []int
    fmt.Println(a == nil)
    fmt.Print("Printing slice: ")
    fmt.Println(a)
}

Output:

true
Printing slice: []

Function

package main
import "fmt"
func main() {
    var a func()
    fmt.Print("Default Zero Value of a func: ")
    fmt.Println(a)
}

Output:

Default Zero Value of a func: <nil>

Pointer

package main
import "fmt"
func main() {
    var a *int
    fmt.Print("Default Zero Value of a pointer: ")
    fmt.Println(a)
}

Output:

Default Zero Value of a pointer: <nil>

  • datatype
  • default
  • examples
  • go
  • golang
  • sidetoc
  • type
  • zero
  • Follow @golangbyexample

    Popular Articles

    Golang Comprehensive Tutorial Series

    All Design Patterns in Go (Golang)

    Slice in golang

    Variables in Go (Golang) – Complete Guide

    OOP: Inheritance in GOLANG complete guide

    Using Context Package in GO (Golang) – Complete Guide

    All data types in Golang with examples

    Understanding time and date in Go (Golang) – Complete Guide

    ©2025 Welcome To Golang By Example | Design: Newspaperly WordPress Theme