Go: Default value of struct, string, slice, map
Variables declared without an explicit initial value are set to their zero values:
falsefor booleans,0for integers,0.0for floats,""for strings, andnilfor pointers, functions, interfaces, slices, channels, and maps.
This initialization is done recursively; for example each element of an array of structs will have its fields zeroed if no value is specified.
var n int // n == 0
type T struct {
n int
f float64
next *T
}
t := new(T) // t.n == 0, t.f == 0.0 and t.next == nil
Comments
Be the first to comment!