Heim > Backend-Entwicklung > Golang > Golang-Array zur Zuordnung

Golang-Array zur Zuordnung

WBOY
Freigeben: 2023-05-15 09:32:06
Original
1129 Leute haben es durchsucht

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
}
Nach dem Login kopieren

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},
}
Nach dem Login kopieren

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)
Nach dem Login kopieren

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
}
Nach dem Login kopieren

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("未找到张三的成绩")
}
Nach dem Login kopieren

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("未找到张三的成绩")
    }
}
Nach dem Login kopieren

Das Ausgabeergebnis lautet:

张三的成绩为:90
Nach dem Login kopieren

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:

  • In der Go-Sprache können Sie ein Array in einen Kartentyp konvertieren, indem Sie es durchlaufen.
  • Der Schlüssel-Wert-Paartyp und das Kartenobjekt müssen während des Konvertierungsprozesses definiert werden.
  • Nach der Konvertierung können Sie anhand des Schlüssels schnell den entsprechenden Wert finden.

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!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage