>백엔드 개발 >Golang >Go 템플릿에서 여러 배열을 동시에 반복하려면 어떻게 해야 합니까?

Go 템플릿에서 여러 배열을 동시에 반복하려면 어떻게 해야 합니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-03 13:36:11663검색

How Can I Iterate Over Multiple Arrays Simultaneously in Go Templates?

Go 템플릿을 사용하여 여러 배열 반복

Go 프로그래밍에서 템플릿은 데이터를 기반으로 HTML 출력을 생성하는 강력한 방법을 제공합니다. 여러 유사한 데이터 구조를 처리할 때 동시에 반복하는 것이 어려울 수 있습니다.

문제:
Schedule과 Combo라는 두 가지 구조를 고려해 보겠습니다. HTML 페이지에 모든 콤보를 표시하여 해당 사운드, 볼륨 및 대기 배열이 행으로 정렬되도록 해야 합니다.

분석:
단, Schedule 및 Combo 구조체는 변경할 수 없으며 수정할 수 없습니다. 이는 데이터 구조를 변경하지 않고 여러 배열의 동시 반복을 처리할 수 있는 영리한 템플릿 솔루션이 필요하다는 것을 의미합니다.

해결책:
배열의 길이가 같은 경우 다음을 수행할 수 있습니다. 다음을 활용 접근 방식:

{{ $volumes := .Volumes }}
{{ $waits := .Waits }}
{{range $index,$sound := .Sounds }}
  <p>Sound: {{$sound}}, Volume: {{index $volumes $index}}, Wait: {{index $waits $index}}</p>
{{end}}

설명:

  • 인덱싱을 더 쉽게 하기 위해 Volumes 및 Waits 배열을 별도의 변수($volumes 및 $waits)로 추출합니다.
  • 인덱스 함수를 사용하여 반복 사운드의 인덱스를 기반으로 이러한 배열에서 특정 요소를 검색합니다. element.

이 솔루션은 원하는 데이터를 올바르게 정렬하여 필요에 따라 출력을 생성해야 합니다. 이 접근 방식을 사용하려면 세 가지 배열(사운드, 볼륨 및 대기)의 길이가 모두 동일해야 합니다.

위 내용은 Go 템플릿에서 여러 배열을 동시에 반복하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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