Dans Go, comprendre le concept d'impression de l'adresse d'une variable de structure est crucial. Examinons une requête spécifique et sa solution.
Requête :
Un utilisateur rencontrant Go pour la première fois souhaite imprimer l'adresse d'une variable de structure, r. Malgré l'utilisation de l'opérateur & attendu, la sortie affiche {15 6} au lieu de l'adresse attendue.
Extrait de code :
type Rect struct { width int name int } func main() { r := Rect{4, 6} p := &r p.width = 15 fmt.Println("-----", &p, r, p, &r) }
Analyse :
Par défaut, fmt.Println() utilise le format %v qui traite spécialement les structures en imprimant leurs champs. Pour imprimer l'adresse directement, une chaîne de format spécifique est requise.
Solution :
Pour imprimer l'adresse de r, le verbe %p doit être utilisé avec un format chaîne. Ce verbe indique spécifiquement l'impression d'une valeur de pointeur.
fmt.Printf("%p\n", &r)
Cela affichera correctement l'adresse de r, telle que 0x414020.
De plus, l'adresse peut être stockée dans une variable en utilisant la syntaxe suivante :
addr := &r
Maintenant, addr maintiendra le pointeur sur r.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!