Memory Alignment in Go
Type alignment (or value address alignment) guarantees are the requirements for Go compilers made by Go specifications. If the alignment guarantee of a type T is n, then the address of every value of type T must be a multiple of n at run time.