Pointers

func main() {
	i, j := 1, 2

	var p *int

	p = &i
	fmt.Println(*p) // 1
	fmt.Println(p)  // 0xc0000b0008

	p = &j
	fmt.Println(*p) // 2
	fmt.Println(p)  // 0xc0000b0010
}

Where T is a pointer type of *int

*T - value

T - address

Where T is a value type of int

T - value

&T - address