Die folgende Kolumne stellt Go-Hinweise für alle in der Kolumne golang-Tutorial vor. Ich hoffe, dass sie für Freunde in Not hilfreich sein wird!
Lassen Sie uns dieses Beispiel analysieren
Das Ergebnis:
Auf der Grundlage der vorherigen C-Sprache habe ich ein Bild gezeichnet, um zu erklären, warum die oben genannten Werte angezeigt werden. Schauen wir uns zunächst an, was diese beiden Operatoren in Go sind.
①Für alle Ergebnisse mit einer
var definiert a int = 1 eine Variable a mit einem Wert von 1, wie in der Abbildung unten gezeigt:
&a ist die Adresse, an der der Wert einer Variablen gespeichert ist
*&a ist der Zeiger Ein Zeiger von &a, *&a = a = 1
②Alle Ergebnisse mit b
var b *int = &a
Ähnlich wie int in der C-Sprache *b = &a definiert einen Zeiger b, b, der auf eine ganzzahlige Variable zeigt. Zeigt auf die Adresse von a
Also:
b = &a = 0xc04203c1d0
&b = 0xc042058018 &b ist die tatsächliche Adresse der Zeigervariablen b, die nach der Ausführung diejenige ist
*&b = *(&b) = b = &a = 0xc04203c1d0
*b = *&a = a = 1
③Alle Ergebnisse mit c
Wie im Bild oben gezeigt:
var c **int = &b
definiert tatsächlich einen Zeiger. Die Zeigervariable des Ganzzahlzeigers
c = &b = 0xc042058018
*c = *&b = b = &a = 0xc04203c1d0
&c ist die tatsächliche Adresse dieser Variablen ist das Ergebnis der Operation 0xc042068020
*&c. Es wurde festgestellt, dass *& direkt eliminiert wird = 0xc042058018
**c Tatsächlich weiß man nicht, was es ist kann durch Konvertierung ausgewertet werden
**c = **&b = *b = *&a = a = 1
***&*&*&*&*&c Dies kann zuerst eliminiert werden *& **c = 1
④Über x
x = *b = *&a = a = 1
Die obige Zusammenfassung Schauen wir uns Folgendes an:
& Erhalten Sie die Adresse über die Variable * Erhalten Sie den Wert über die Adresse
&a ruft zuerst die Adresse ab, und dann ruft „*xxx Adresse“ den Wert der Variablen an der Adresse ab, d. h. a
*& kann
versetzenDas obige ist der detaillierte Inhalt vonEinführung in Go-Zeiger. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!