What are zero values in Go?

Answer

In Go, every variable is automatically initialized to its zero value if no explicit value is given — there is no concept of an "uninitialized" variable. Zero values by type: int0, float640.0, boolfalse, string"" (empty string), pointers/maps/slices/channels/functions → nil, structs → each field set to its own zero value. This guarantee eliminates entire classes of bugs caused by reading uninitialized memory and is a deliberate, principled design decision in Go.