Pointers
A pointer type denotes the set of all pointers to variables of a given type, called the pointer's base type. The value of an uninitialized pointer is nil.
For an operand x of type T, the address operation &x generates a pointer of type *T to x. The operand must be addressable, that is, a variable, pointer indirection or slice indexing operation;
or a field selector of an addressable structure operand.
For an operand x of pointer type *T, pointer indirection *x denotes the variable of type T pointed to by x. If x is null, an attempt to evaluate *x will cause a runtime panic.
var name *string = "Carlos"
fmt.Println(name) // Address