Pointeurs
Contexte
Section intitulée « Contexte »Un pointeur contient l’adresse mémoire d’une valeur. Utilisez *T pour un pointeur vers T, et & pour obtenir l’adresse. Go n’a pas d’arithmétique des pointeurs (sauf via unsafe).
Passage par valeur vs par référence.
Code exemple
Section intitulée « Code exemple »package main
import "fmt"
func zeroVal(x int) { x = 0}
func zeroPtr(x *int) { *x = 0}
func main() { a := 42 zeroVal(a) fmt.Println(a) // toujours 42
zeroPtr(&a) fmt.Println(a) // maintenant 0
// pointeur nil var p *int if p == nil { fmt.Println("p est nil") }}420p est nil