Introduction
Zero values give a default starting value to variables when you don't set one. This helps avoid errors from using empty or uninitialized data.
var variableName Type
// variableName now holds the zero value for Typevar number int
var flag bool
var text stringvar pointer *int var slice []int var mapData map[string]int
var ch rune var f float64
package main import "fmt" func main() { var a int var b bool var c string var d *int fmt.Println("a (int):", a) fmt.Println("b (bool):", b) fmt.Println("c (string):", c) fmt.Println("d (*int):", d) }
int variable in Go?int is the number 0.x as int without initialization, so it gets zero value 0. Other options assign invalid values for int.package main
import "fmt"
func main() {
var b bool
fmt.Println(b)
}b is declared as bool without explicit initialization.bool is false, so b is false by default.package main
func main() {
var s string = nil
}nil to a string variable causes a compile-time error because nil is not a valid string value.var m map[string]intWhat is the zero value of
m and what must you do before adding elements?nil.make(map[string]int) before adding keys and values.m is nil; you must initialize it with make before adding elements -> Option BPass the test and this pattern moves unknown