>백엔드 개발 >Golang >특정 순서로 Go 맵을 반복하는 방법은 무엇입니까?

특정 순서로 Go 맵을 반복하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-07 16:58:15343검색

How to Iterate Through Go Maps in a Specific Order?

지도가 순서대로 인쇄되지 않는 이유

Go에서 지도는 순서가 지정되지 않은 키-값 쌍 모음입니다. 이는 맵의 요소 순서가 보장되지 않음을 의미합니다. 지도를 반복하면 요소가 임의의 순서로 반환되므로 특정 순서가 필요한 경우 혼란스럽거나 문제가 될 수 있습니다.

지도 순서대로 가져오기

지도를 순서대로 가져오려면 sort 패키지를 사용할 수 있습니다. 예는 다음과 같습니다.

package main

import (
    "fmt"
    "sort"
)

type monthsType struct {
    no   int
    text string
}

var months = map[int]string{
    1:"January", 2:"Fabruary", 3:"March", 4:"April", 5:"May", 6:"June",
    7:"July", 8:"August", 9:"September", 10:"October", 11:"Novenber", 12:"December",
}

func main(){
    // Create a slice of the map keys
    keys := make([]int, len(months))
    i := 0
    for key := range months {
        keys[i] = key
        i++
    }

    // Sort the slice of keys
    sort.Ints(keys)

    // Iterate over the keys and print the corresponding values
    for _, key := range keys {
        fmt.Println(key, "-", months[key])
    }
}

이 코드는 키의 오름차순으로 지도 요소를 출력합니다.

1 - January
2 - Fabruary
3 - March
4 - April
5 - May
6 - June
7 - July
8 - August
9 - September
10 - October
11 - Novenber
12 - December

위 내용은 특정 순서로 Go 맵을 반복하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.