new(T) returns a pointer to a newly allocated zero value of type
make returns an initialised slice, map or channel. For example, a slice which points to an underlying array (an uninitialised slice does not).
In Go, the zero value is a default value assigned to an allocated but uninitialised variable. Each type has its own zero value. For slices and maps, the zero value is
Once assigned to a variable,
nil is typed and behaves accordingly. You can
append to a
nil slice and look up keys in a
nil map, but not vice versa. You cannot compare
nils of different types.