Maison >développement back-end >Golang >tableau golang à cartographier
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é :
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!