Heim > Backend-Entwicklung > Golang > Spielt „map' oder „make' beim Erstellen von Karten in Go eine Rolle?

Spielt „map' oder „make' beim Erstellen von Karten in Go eine Rolle?

Patricia Arquette
Freigeben: 2024-12-01 05:57:11
Original
591 Leute haben es durchsucht

Does `map` or `make` Matter When Creating Maps in Go?

Spielt es beim Erstellen von Karten eine Rolle?

Beim Erstellen von Karten in Go haben Entwickler zwei Möglichkeiten:

var m = map[string]int{}
Nach dem Login kopieren
var m = make(map[string]int)
Nach dem Login kopieren

Während Ersteres wie eine Abkürzung für eine schnellere Feldinitialisierung erscheinen mag, haben beide Optionen subtile Auswirkungen Unterschiede.

Map-Literale vs. make

Die erste Form ist ein Sonderfall eines Map-Literals, der die Erstellung nicht leerer Maps mit bestimmten Schlüssel- Wertepaare. Zum Beispiel:

m := map[bool]string{false: "FALSE", true: "TRUE"}
Nach dem Login kopieren

Im Gegensatz dazu erstellt das zweite Formular, das make verwendet, immer eine leere Karte. Es entspricht dem Kartenliteral ohne Anfangswerte, wie zum Beispiel:

m := map[string]int{}
Nach dem Login kopieren

Anfangskapazität

Der Hauptunterschied zwischen den beiden Ansätzen liegt in der Fähigkeit zur Spezifizierung eine Anfangskapazität. Mit make können Sie Platz für eine bestimmte Anzahl von Elementen zuweisen, auch wenn diese ursprünglich nicht zugewiesen wurden. Dies kann dazu beitragen, zukünftige Zuweisungen zu reduzieren, wenn Sie damit rechnen, dass die Karte erheblich wächst. Beispiel:

m := make(map[string]int, 50)
Nach dem Login kopieren

Dadurch wird eine Karte mit ausreichend Platz für 50 Elemente erstellt, wodurch möglicherweise die Zuweisungen reduziert werden, wenn die Karte erweitert wird.

Best Practice

Im Allgemeinen hängt die Wahl zwischen den beiden Methoden von der Situation ab. Wenn Sie eine leere Karte erstellen, bei der die Leistung nicht entscheidend ist, ist jede Option ausreichend. Wenn Sie jedoch eine große Karte erwarten oder die anfängliche Kapazität festlegen möchten, wird die Verwendung von make empfohlen.

Das obige ist der detaillierte Inhalt vonSpielt „map' oder „make' beim Erstellen von Karten in Go eine Rolle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage