Heim >Backend-Entwicklung >Golang >Einführung in Go-Zeiger

Einführung in Go-Zeiger

藏色散人
藏色散人nach vorne
2020-10-26 14:02:342070Durchsuche

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

versetzen

Das 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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen