golang array to map

WBOY
Release: 2023-05-15 09:32:06
Original
1088 people have browsed it

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
}
Copy after login

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},
}
Copy after login

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)
Copy after login

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
}
Copy after login

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

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

Output The result is:

张三的成绩为:90
Copy after login

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:

  • In Go language, you can convert an array into a map type by traversing it.
  • During the conversion process, the key-value pair type and map object need to be defined.
  • After conversion, you can quickly find the corresponding value based on the key.

The above is the detailed content of golang array to map. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template