Go 언어에서는 배열을 맵 유형으로 변환해야 하는 경우가 있습니다. 이 글에서는 이 기능을 구현하는 방법을 소개합니다.
배열은 특정 순서로 배열된 데이터 유형의 집합이고, 맵은 키-값 쌍의 형태로 저장된 데이터 유형입니다. 배열은 아래 첨자를 사용하여 요소에 액세스할 수 있는 반면, 맵은 값에 액세스하려면 키가 필요합니다. 일부 시나리오에서는 요소에 더 편리하게 액세스하기 위해 배열을 맵 유형으로 변환해야 합니다.
예를 들어, 5명의 학생의 이름과 해당 성적을 저장하는 길이가 5인 배열이 있습니다. 학생 이름을 기준으로 해당 성적을 빠르게 찾을 수 있도록 지도 형태로 변환해 드리고자 합니다.
먼저 학생의 이름과 성적을 저장할 유형을 정의해야 합니다.
type Student struct { Name string Score int }
그런 다음 5명의 학생의 이름과 성적을 저장하기 위해 길이가 5인 배열을 만듭니다.
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("未找到张三的成绩") }
완전한 코드는 다음과 같습니다.
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("未找到张三的成绩") } }
출력 결과는 다음과 같습니다.
张三的成绩为:90
위의 코드 예를 통해 우리는 지도에 배열하는 것은 매우 간단합니다. 키-값 쌍 유형을 정의하고, 맵 객체를 생성하고, 배열을 순회하고, 맵에 요소를 채우기만 하면 됩니다.
요약:
위 내용은 매핑할 골랭 배열의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!