Bei der Arbeit mit Karten in Go kann es zu Verwirrung kommen, wenn Sie versuchen, einen Zeiger auf sie zu erstellen. Trotz der Versuche, Variablen zu definieren, die sich auf die Adresse von Karten beziehen, können Fehler auftreten.
Lassen Sie uns in das Problem eintauchen und die Lösung verstehen.
Karten in Go sind Referenztypen, das heißt, sie speichern den Verweis auf die tatsächlichen Daten. Daher würde der Zugriff auf eine Karte über einen Zeiger immer noch die ursprüngliche Karte abrufen. Der Versuch, einen Zeiger auf eine Karte zu erstellen, ist überflüssig und unnötig.
Um mit Karten in Go zu arbeiten, benötigen Sie keine Zeiger. Durch einfaches Übergeben der Karte als Wert wird ein neuer Verweis auf die ursprüngliche Karte erstellt. Dies bedeutet, dass Sie direkt mit der Karte arbeiten können, ohne dass Zeiger erforderlich sind.
Betrachten Sie den folgenden Code:
var valueToSomeType map[uint8]someType var nameToSomeType map[string]someType // No need to use pointers valueTo := valueToSomeType nameTo := nameToSomeType
In diesem Beispiel sind valueTo und nameTo neue Verweise auf die ursprünglichen Karten valueToSomeType und nameToSomeType. Über diese neuen Referenzen können Sie direkt auf die Karten zugreifen.
Das obige ist der detaillierte Inhalt vonWarum kann ich in Go keinen Zeiger auf eine Karte erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!