범위 루프 내의 인덱스를 활용하여 HTML 템플릿의 병렬 배열 반복
HTML 템플릿에서 범위 함수를 사용하면 배열 반복이 가능합니다. 또는 슬라이스를 사용하여 구조 내의 개별 요소를 나열할 수 있습니다. 여러 병렬 배열로 작업할 때 동시에 반복하여 각 배열의 요소를 매핑해야 하는 경우가 많습니다.
그러나 다음 접근 방식은 예상대로 작동하지 않습니다.
{{range $i, $e := .First}}$e - {{index .Second $i}}{{end}}
이것은 범위 블록 내의 점(.)이 반복되는 현재 요소(두 번째 배열)를 참조하기 때문에 실패합니다. 올바른 접근 방식은 템플릿에 전달되는 전체 데이터 구조를 나타내는 원래 점 값에 액세스하는 것입니다.
사전 정의된 템플릿 함수인 인덱스 함수를 사용하면 맵, 슬라이스 및 배열에 대한 인덱싱 작업이 가능합니다. 이를 사용하는 올바른 접근 방식은 다음과 같습니다.
{{range $i, $e := .First}}$e - {{index $.Second $i}}{{end}}
이 변형은 점 참조를 올바르게 사용합니다. Second 앞의 $는 원래 점 값을 나타내며, 현재 인덱스를 사용하여 두 번째 배열의 인덱싱을 가능하게 합니다.
그러나 더 간결한 솔루션은 여러 조각을 허용하는 zip이라는 사용자 정의 템플릿 함수를 만드는 것입니다. 그리고 각 입력 슬라이스의 요소를 포함하는 튜플 슬라이스를 반환합니다. 이 접근 방식은 더 깔끔한 템플릿을 제공하고 재사용을 용이하게 합니다.
{{range zip .First .Second}} {{$a := $._1}} {{$b := $._2}} {{printf "%v - %v" $a $b}} {{end}}
위 내용은 range 및 index 함수를 사용하여 HTML 템플릿에서 병렬 배열을 어떻게 반복할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!