Heim  >  Artikel  >  Backend-Entwicklung  >  Kann die Länge der Karte in der Go-Sprache definiert werden?

Kann die Länge der Karte in der Go-Sprache definiert werden?

青灯夜游
青灯夜游Original
2021-06-04 17:45:376258Durchsuche

In der Go-Sprache kann die Karte die Länge definieren. Die Karte kann entsprechend dem neuen Schlüsselwert dynamisch erweitert und verkleinert werden, sodass es keine feste Länge oder maximale Begrenzung gibt. Sie können jedoch auch die anfängliche Kapazitätsobergrenze der Karte angeben. Die Syntax lautet „make(map[ keytype]valuetype, cap)“.

Kann die Länge der Karte in der Go-Sprache definiert werden?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, GO 1.11.2, Dell G3-Computer.

In der Go-Sprache ist Map eine spezielle Datenstruktur, eine ungeordnete Sammlung von Elementpaaren (Paar), die einem Schlüssel (Index) und einem Wert (Wert) entspricht, daher wird diese Struktur auch als assoziatives Array oder Wörterbuch bezeichnet. Dies ist eine ideale Struktur, mit der Werte schnell gefunden werden können. Bei gegebenem Schlüssel kann der entsprechende Wert schnell gefunden werden.

map Diese Datenstruktur wird in anderen Programmiersprachen auch Wörterbuch (Python), Hash, HashTable usw. genannt.

Kartenkapazität

Im Gegensatz zu Arrays kann die Karte entsprechend dem neuen Schlüsselwert dynamisch erweitert und verkleinert werden, sodass es keine feste Länge oder maximale Begrenzung gibt. Sie können jedoch auch die anfängliche Kapazität angeben Karte im folgenden Format:

make(map[keytype]valuetype, cap)

Zum Beispiel:

map2 := make(map[string]float, 100)

Wenn die Karte die obere Kapazitätsgrenze erreicht und ein neuer Schlüsselwert hinzugefügt wird, erhöht sich die Größe der Karte automatisch um 1. Daher aus Leistungsgründen Bei großen Karten oder Karten, die sich schnell erweitern, ist es am besten, sie zuerst anzugeben, auch wenn die Kapazität nur grob bekannt ist.

Hier ist ein konkretes Beispiel einer Karte, die Musikskalen den entsprechenden Audiodateien zuordnet:

noteFrequency := map[string]float32 {
"C0": 16.35, "D0": 18.35, "E0": 20.60, "F0": 21.83,
"G0": 24.50, "A0": 27.50, "B0": 30.87, "A4": 440}

Empfohlenes Lernen: Golang-Tutorial

Das obige ist der detaillierte Inhalt vonKann die Länge der Karte in der Go-Sprache definiert werden?. 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