pointer in Go

Go has pointers. 
* The type *T is a pointer to a T value. Its zero value is nil.
* The & operator generates a pointer to its operand. 
* The * operator denotes the pointer's underlying value. This is known as dereferencing.
* Unlike C, Go has no pointer arithmetic. 
```
var p *int
i := 42
p = &i
```