Einen Int-Zeiger auf einen Int-Wert in Go setzen
Wenn Sie versuchen, einer Zeigervariablen einen Wert zuzuweisen, ist es wichtig, sicherzustellen, dass Zeiger ist nicht Null. Der Versuch, einen Nullzeiger zu dereferenzieren, kann, wie Sie es erlebt haben, zu einer Laufzeitpanik führen.
Lösung:
Um den Zeigerwert festzulegen, muss der Zeiger auf etwas Gültiges zeigen . Mit der Funktion new() können Sie einen Zeiger auf ein int mit dem Wert Null erhalten:
guess := new(int) *guess = 12345
Dadurch wird Speicher für die int-Variable reserviert und der Zeiger so eingestellt, dass er auf diesen Speicher zeigt. Jetzt können Sie den angezeigten Wert über den Zeiger ändern.
Vereinfachte Deklaration:
Sie können die Deklaration und Initialisierung mithilfe einer kurzen Variablendeklaration vereinfachen:
guess := new(int) *guess = 12345
Alternative Vorgehensweise:
Sie können auch die Adresse eines bestehenden zuweisen Variable zum Zeiger:
value := 12345 guess := &value
Dies ändert den Zeigerwert, nicht den Zeigerwert. In diesem einfachen Beispiel ist der Effekt jedoch ähnlich.
Änderung des Spitzenwerts:
Eine Änderung des Spitzenwerts durch den Zeiger ändert auch den Wert der Variablen es weist darauf hin. Umgekehrt wirkt sich das Ändern des Werts der Variablen auf den Zeigerwert aus:
var value int guess := &value value = 12345 fmt.Println(*guess) // Prints: 12345
Die Verwendung eines Zeigers bietet eine bequeme Möglichkeit, den Wert einer Variablen indirekt zu ändern. Es ist jedoch wichtig, den Zeiger richtig zu initialisieren, um Nullzeigerfehler zu vermeiden und die Datenintegrität sicherzustellen.
Das obige ist der detaillierte Inhalt vonWie kann ich einem Integer-Zeiger in Go sicher einen Integer-Wert zuweisen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!