Zero-initialization
Zero-initialization is a source of confusion sometimes. They are default values for many types that are assigned even if you don't provide a value for the definition. Following are the zero-initialization for various types:
The
false
initialization forbool
type.Using
0
values forint
type.Using
0.0
forfloat
type.Using
""
(empty strings) forstring
type.Using
nil
keyword for pointers, functions, interfaces, slices, channels and maps.Empty
struct
for structures without fields.Zero-initialized
struct
for structures with fields. The zero value of a structure is defined as the structure that has its fields initialized as zero value too.
Zero-initialization is important when programming in Go because you won't be able to return a nil
value if you have to return an int
type or a struct
. Keep this in mind, for example, in functions where you have to return a bool
value. Imagine that you want to know if a number is divisible by a different number but you pass 0
(zero) as the divisor...