Heim >Backend-Entwicklung >Golang >Wie werden Karten in Go übergeben: nach Wert oder nach Referenz?

Wie werden Karten in Go übergeben: nach Wert oder nach Referenz?

DDD
DDDOriginal
2024-12-02 17:13:181076Durchsuche

How are Maps Passed in Go: By Value or By Reference?

Übergabe von Karten als Referenz

In Go sind Karten grundsätzlich Referenztypen. Das heißt, wenn eine Karte als Argument an eine Funktion übergeben wird, wird die tatsächliche Karte als Referenz übergeben und nicht kopiert.

In Ihrem Beispiel haben Sie versucht, Zeiger auf Karten mit dem folgenden Code zu erstellen:

valueTo := &valueToSomeType
nameTo := &nameToSomeType

Dies ist jedoch unnötig, da Karten bereits als Referenz übergeben werden. Sie können über die Namen valueToSomeType und nameToSomeType direkt auf die Karten zugreifen, ohne Zeiger zu erstellen.

Zugriff auf Kartenelemente

Um auf die Elemente einer Karte zuzugreifen, können Sie die verwenden Klammernotation:

value := valueToSomeType[number]

Hier ist value der Wert, der der Schlüsselnummer im valueToSomeType zugeordnet ist Karte.

Zusätzliche Hinweise

Der zuvor aufgetretene Fehler „Interner Compilerfehler: var ohne Typ, init: neu“ wurde möglicherweise durch ein separates Problem in Ihrem Code verursacht . Es hat nichts damit zu tun, wie Sie Karten als Referenz weitergeben.

Das obige ist der detaillierte Inhalt vonWie werden Karten in Go übergeben: nach Wert oder nach Referenz?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn