Maison > développement back-end > Golang > Comment imprimer correctement l'adresse d'une structure en Go ?

Comment imprimer correctement l'adresse d'une structure en Go ?

DDD
Libérer: 2024-11-29 12:38:12
original
221 Les gens l'ont consulté

How to Correctly Print the Address of a Struct in Go?

Comprendre l'impression d'adresses de structure dans Go

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)
}
Copier après la connexion

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)
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal