„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie ändert man den von einem Zeiger in Go dereferenzierten Wert?

Wie ändert man den von einem Zeiger in Go dereferenzierten Wert?

Veröffentlicht am 08.11.2024
Durchsuche:642

How Do You Modify the Value Dereferenced by a Pointer in Go?

Ändern des von einem Zeiger in Go dereferenzierten Werts

Durch die Übergabe von Zeigern an Funktionen können die Werte geändert werden, auf die sie verweisen. Allerdings ist es erforderlich, das Innenleben von Zeigern zu verstehen, um diese Operation korrekt auszuführen.

Zeiger dereferenzieren

Um einen Wert zu ändern, auf den ein Zeiger zeigt, ist es wichtig, den Zeiger zu dereferenzieren. In Go wird zu diesem Zweck der Sternchenoperator (*) verwendet. Indem Sie einen Zeiger dereferenzieren, können Sie auf den zugrunde liegenden Wert zugreifen, auf den er zeigt.

Ändern von Zeigerwerten im Vergleich zu punktuellen Werten

Der Hauptunterschied besteht zwischen der Änderung des Werts eines Zeigers und der Änderung seines Wertes weist darauf hin. Wenn Sie einer Zeigervariablen einen neuen Wert zuweisen, ändert sich nur die darin gespeicherte Adresse. Der folgende Codeausschnitt ändert beispielsweise nicht den Wert, auf den verwiesen wird:

func f(p *Test) {
   p = &Test{4}
}

Ändern von Werten, auf die verwiesen wird

Um den Wert, auf den verwiesen wird, zu ändern, muss der Dereferenzierungsoperator verwendet werden. Dies kann explizit oder implizit erfolgen.

Explizite Dereferenzierung:

func f(p *Test) {
   *p = Test{4}
}

Implizite Dereferenzierung:

func f(p *Test) {
   p.Value = 4
}

In beiden Fällen wird der Wert, auf den p zeigt, geändert.

Zeiger auf Zeigeränderung

Die Übergabe eines Zeigers an einen Zeiger (*Test) ermöglicht die Änderung des Zeigerwert, der in der Hauptfunktion gespeichert ist. Der Wert, auf den der ursprüngliche Zeiger zeigt, wird jedoch nicht geändert.

func f(p **Test) {
   *p = &Test{4}
}

Zusammenfassend lässt sich sagen, dass es bei der Übergabe von Zeigern an Funktionen wichtig ist, den Unterschied zwischen der Änderung des Werts eines Zeigers und der Änderung des Werts, auf den er zeigt, zu verstehen. Die Dereferenzierung von Zeigern ist für die Durchführung des letztgenannten Vorgangs unerlässlich und ermöglicht Änderungen an den zugrunde liegenden Datenwerten.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3