Maison  >  Article  >  développement back-end  >  tableau golang à cartographier

tableau golang à cartographier

WBOY
WBOYoriginal
2023-05-15 09:32:061091parcourir

En langage Go, il est parfois nécessaire de convertir un tableau en type map. Cet article présentera comment implémenter cette fonction.

Un tableau est un ensemble de types de données disposés dans un certain ordre, tandis qu'une carte est un type de données stocké sous la forme de paires clé-valeur. Les tableaux peuvent accéder aux éléments à l'aide d'indices, tandis que les cartes nécessitent des clés pour accéder aux valeurs. Dans certains scénarios, nous devons convertir le tableau en type de carte pour accéder plus facilement aux éléments.

Par exemple, nous avons un tableau d'une longueur de 5, qui stocke les noms et les notes correspondantes de 5 étudiants. Nous espérons le convertir en un type de carte afin de pouvoir trouver rapidement les notes correspondantes en fonction du nom de l'élève.

Tout d'abord, nous devons définir un type pour stocker les noms et les notes des étudiants :

type Student struct {
    Name  string
    Score int
}

Ensuite, nous créons un tableau de longueur 5 pour stocker les noms et les notes de 5 étudiants :

students := [5]Student{
    {Name: "张三", Score: 90},
    {Name: "李四", Score: 85},
    {Name: "王五", Score: 78},
    {Name: "赵六", Score: 92},
    {Name: "钱七", Score: 88},
}

Ensuite, nous définissons une carte tapez, utilisez le nom de l'étudiant comme clé et la note de l'étudiant comme valeur :

scores := make(map[string]int)

Ensuite, nous parcourons chaque élément du tableau, utilisons le nom de l'étudiant comme clé et stockons la note de l'étudiant comme valeur dans les scores :

for _, student := range students {
    scores[student.Name] = student.Score
}

Enfin, nous pouvons trouver la note correspondante du nom de l'élève dans les scores :

score, ok := scores["张三"]
if ok {
    fmt.Printf("张三的成绩为:%d
", score)
} else {
    fmt.Println("未找到张三的成绩")
}

Le code complet est le suivant :

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

Le résultat de sortie est :

张三的成绩为:90

Grâce à l'exemple de code ci-dessus, nous pouvons voir que la conversion d'un un tableau dans une carte est très simple. Il vous suffit de définir le type de paire clé-valeur, de créer l'objet cartographique, de parcourir le tableau et de remplir les éléments dans la carte.

Résumé :

  • En langage Go, vous pouvez convertir un tableau en type de carte en le parcourant.
  • Le type de paire clé-valeur et l'objet cartographique doivent être définis pendant le processus de conversion.
  • Après la conversion, vous pouvez rapidement trouver la valeur correspondante en fonction de la clé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn