Všeobecne v programovaní definujeme premennú s menom a hodnotou. Počas kompilácie sa meno premení na adresu a hodnota je do danej adresy uložená. V prípade smerníkov je hodnotou premennej jednoducho adresa inej premennej.
A teraz tie dve pekelné symboly:
- & sa používa na prístup ku adrese tej druhej premennej
- * sa používa na prístup ku hodnote tej druhej premennej
Príklad:
func main() {
x := 7
y := &x // premenna y je teraz smernik
fmt.Println(y) // adresa &x
fmt.Println(&y) // adresa smerniku y
fmt.Println(*y) // hodnota x, teda 7
}