>백엔드 개발 >Golang >Go 템플릿의 맵을 통해 데이터를 그룹화하려면 어떻게 반복할 수 있나요?

Go 템플릿의 맵을 통해 데이터를 그룹화하려면 어떻게 반복할 수 있나요?

Linda Hamilton
Linda Hamilton원래의
2024-11-18 07:34:02879검색

How Can I Iterate Through Maps in Go Templates to Group Data?

템플릿에서 맵을 통해 반복

Go 템플릿에서는 맵을 반복해야 하는 경우가 흔합니다. 이는 템플릿 언어의 고유한 속성으로 인해 어려울 수 있습니다.

목표: 수업 유형(예: 요가, 필라테스)별로 그룹화된 체육관 수업 목록을 표시합니다.

해결책: groupClasses()와 같은 함수를 활용하여 클래스 유형 맵을 생성합니다. 클래스:

func groupClasses(classes []entities.Class) map[string][]entities.Class {
    classMap := make(map[string][]entities.Class)
    for _, class := range classes {
        classMap[class.ClassType.Name] = append(classMap[class.ClassType.Name], class)
    }
    return classMap
}

지도를 통해 반복:

문제는 템플릿의 지도를 반복하는 것입니다. Go 템플릿 문서에 따르면 .Key 형식으로 액세스해야 합니다. 압축을 풀려면 범위에서 쉼표로 구분된 두 개의 변수를 선언하면 됩니다.

{{ range $key, $value := . }}
   <li><strong>{{ $key }}</strong>: {{ $value }}</li>
{{ end }}

이는 맵을 반복하여 키(클래스 유형)와 값(클래스 목록)에 모두 액세스합니다. 이제 필요에 따라 데이터를 표시할 수 있습니다.

위 내용은 Go 템플릿의 맵을 통해 데이터를 그룹화하려면 어떻게 반복할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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