In der Go-Sprache ist es manchmal notwendig, ein Array in einen Kartentyp umzuwandeln. In diesem Artikel wird erläutert, wie diese Funktion implementiert wird.
Ein Array ist eine Reihe von Datentypen, die in einer bestimmten Reihenfolge angeordnet sind, während eine Karte ein Datentyp ist, der in Form von Schlüssel-Wert-Paaren gespeichert ist. Arrays können mithilfe von Indizes auf Elemente zugreifen, während Karten für den Zugriff auf Werte Schlüssel erfordern. In einigen Szenarien müssen wir das Array in einen Kartentyp konvertieren, um bequemer auf die Elemente zugreifen zu können.
Zum Beispiel haben wir ein Array mit einer Länge von 5, das die Namen und entsprechenden Noten von 5 Schülern speichert. Wir hoffen, es in einen Kartentyp umwandeln zu können, damit wir anhand des Namens des Schülers schnell die entsprechenden Noten finden können.
Zuerst müssen wir einen Typ definieren, um die Namen und Noten von Schülern zu speichern:
type Student struct { Name string Score int }
Dann erstellen wir ein Array der Länge 5, um die Namen und Noten von 5 Schülern zu speichern:
students := [5]Student{ {Name: "张三", Score: 90}, {Name: "李四", Score: 85}, {Name: "王五", Score: 78}, {Name: "赵六", Score: 92}, {Name: "钱七", Score: 88}, }
Dann definieren wir eine Karte Typ: Verwenden Sie den Namen des Schülers als Schlüssel und die Note des Schülers als Wert:
scores := make(map[string]int)
Als Nächstes durchlaufen wir jedes Element im Array, verwenden den Namen des Schülers als Schlüssel und speichern die Note des Schülers als Wert in Punktzahlen:
for _, student := range students { scores[student.Name] = student.Score }
Schließlich können wir die entsprechende Note des Schülernamens in den Noten finden:
score, ok := scores["张三"] if ok { fmt.Printf("张三的成绩为:%d ", score) } else { fmt.Println("未找到张三的成绩") }
Der vollständige Code lautet wie folgt:
package main import "fmt" type Student struct { Name string Score int } func main() { students := [5]Student{ {Name: "张三", Score: 90}, {Name: "李四", Score: 85}, {Name: "王五", Score: 78}, {Name: "赵六", Score: 92}, {Name: "钱七", Score: 88}, } scores := make(map[string]int) for _, student := range students { scores[student.Name] = student.Score } score, ok := scores["张三"] if ok { fmt.Printf("张三的成绩为:%d ", score) } else { fmt.Println("未找到张三的成绩") } }
Das Ausgabeergebnis lautet:
张三的成绩为:90
Durch das obige Codebeispiel können wir sehen, dass die Konvertierung von an Das Einbinden eines Arrays in eine Karte ist sehr einfach. Sie müssen lediglich den Schlüssel-Wert-Paartyp definieren, das Kartenobjekt erstellen, das Array durchlaufen und die Elemente in die Karte füllen.
Zusammenfassung:
Das obige ist der detaillierte Inhalt vonGolang-Array zur Zuordnung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!