Earlier quoted context omitted.
Much like the github link, you're confusing slices with arrays. Slices can be nil (data=nil, len=cap=0) or non-nil (data points somewhere, len and cap are what they are), but arrays are just arrays, there's no such thing as an uninitialized [3]byte.
I'm not. I've been a Go programmer for years, and I literally quoted your comment above mine - it says (or slices)
The data pointer in the slice points to an array-type of size zero. All allocations for objects of size zero return a fixed address in the data section (so there is a distinction between a nil and non-nil object, but a pointer to a zero sized object does not actually take any space).
See line 909: https://golang.org/src/runtime/malloc.go