Heim > Backend-Entwicklung > Golang > Wie drucke ich die Adresse einer Struktur in Go korrekt aus?

Wie drucke ich die Adresse einer Struktur in Go korrekt aus?

DDD
Freigeben: 2024-11-29 12:38:12
Original
221 Leute haben es durchsucht

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

Das Drucken von Strukturadressen in Go verstehen

In Go ist es von entscheidender Bedeutung, das Konzept des Druckens der Adresse einer Strukturvariablen zu verstehen. Schauen wir uns eine bestimmte Abfrage und ihre Lösung genauer an.

Abfrage:

Ein Benutzer, der Go zum ersten Mal begegnet, möchte die Adresse einer Strukturvariablen, r, ausdrucken. Trotz Verwendung des erwarteten &-Operators zeigt die Ausgabe {15 6} anstelle der erwarteten Adresse.

Code-Snippet:

type Rect struct {
  width int
  name int
}

func main() {
  r := Rect{4, 6}
  p := &r
  p.width = 15

  fmt.Println("-----", &p, r, p, &r)
}
Nach dem Login kopieren

Analyse:

Standardmäßig verwendet fmt.Println() das %v-Format, das Strukturen speziell behandelt, indem ihre Felder gedruckt werden. Um die Adresse direkt auszudrucken, ist eine bestimmte Formatzeichenfolge erforderlich.

Lösung:

Um die Adresse von r auszudrucken, muss das Verb %p mit einem Format verwendet werden Zeichenfolge. Dieses Verb gibt speziell das Drucken eines Zeigerwerts an.

fmt.Printf("%p\n", &r)
Nach dem Login kopieren

Dadurch wird die Adresse von r korrekt ausgegeben, z. B. 0x414020.

Zusätzlich kann die Adresse mit in einer Variablen gespeichert werden die folgende Syntax:

addr := &r
Nach dem Login kopieren

Jetzt hält addr den Zeiger auf r.

Das obige ist der detaillierte Inhalt vonWie drucke ich die Adresse einer Struktur in Go korrekt aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage