|
Go podporuje ukazatele, díky nim je možné předávat si v programu odkazy na hodnoty a záznamy. |
|
package main
|
|
import "fmt"
|
|
|
Jak ukazatelé fungují v protikladu k proměnným si
ukážeme na příkladu dvou funkcí: |
func nulujhodn(ival int) {
ival = 0
}
|
|
Naproti tomu |
func nulujukaz(iptr *int) {
*iptr = 0
}
|
func main() {
i := 1
fmt.Println("počáteční:", i)
|
|
nulujhodn(i)
fmt.Println("nulujhodn:", i)
|
|
|
Zápis |
nulujukaz(&i)
fmt.Println("nulujukaz:", i)
|
|
Pointers can be printed too. |
fmt.Println("ukazatel:", &i)
}
|
|
|
$ go run pointers.go
počáteční: 1
nulujhodn: 1
nulujukaz: 0
ukazatel: 0x414020
|
Další příklad: Struktury (struct).