Home >Backend Development >Golang >golang array to map
In the Go language, it is sometimes necessary to convert an array into a map type. This article will introduce how to implement this function.
An array is a set of data types arranged in a certain order, while map is a data type stored in the form of key-value pairs. Arrays can access elements using subscripts, while maps require keys to access values. In some scenarios, we need to convert the array into a map type to more conveniently access the elements.
For example, we have an array with a length of 5, which stores the names and corresponding grades of 5 students. We hope to convert it into a map type so that we can quickly find the corresponding grades based on the student's name.
First, we need to define a type to store the names and grades of students:
type Student struct { Name string Score int }
Then, we create an array of length 5 to store the names and grades of 5 students:
students := [5]Student{ {Name: "张三", Score: 90}, {Name: "李四", Score: 85}, {Name: "王五", Score: 78}, {Name: "赵六", Score: 92}, {Name: "钱七", Score: 88}, }
Then, we define a map type, using the student name as the key and the student grade as the value:
scores := make(map[string]int)
Next, we traverse each element in the array, using the student name as the key, and the student The grades are stored in scores as values:
for _, student := range students { scores[student.Name] = student.Score }
Finally, we can find the corresponding grades in scores according to the student’s name:
score, ok := scores["张三"] if ok { fmt.Printf("张三的成绩为:%d ", score) } else { fmt.Println("未找到张三的成绩") }
The complete code is as follows:
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("未找到张三的成绩") } }
Output The result is:
张三的成绩为:90
Through the above code example, we can see that converting an array to a map is very simple. You only need to define the key-value pair type, create the map object, traverse the array, and fill the elements into the map.
Summary:
The above is the detailed content of golang array to map. For more information, please follow other related articles on the PHP Chinese website!