> 백엔드 개발 > Golang > Go 템플릿 범위에서 마지막 항목을 식별하는 방법은 무엇입니까?

Go 템플릿 범위에서 마지막 항목을 식별하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-08 02:26:01
원래의
370명이 탐색했습니다.

How to Identify the Last Item in a Go Template Range?

템플릿 범위의 마지막 항목 식별

Go 템플릿에서는 범위의 마지막 항목을 식별하는 것이 어려울 수 있습니다. 내장된 $i 변수는 현재 인덱스만 나타내므로 반복이 언제 완료되는지 판단하기 어렵습니다.

이 장애물을 극복하기 위한 해결 방법은 $i 변수와 리플렉션을 결합하는 사용자 정의 함수를 사용하는 것입니다. 반복되는 데이터 구조의 길이를 확인하는 기반 접근 방식입니다. 현재 인덱스를 길이에서 1을 뺀 값과 비교하면 최종 반복을 정확하게 감지할 수 있습니다.

다음은 이 사용자 정의 함수를 구현할 수 있는 방법의 예입니다.

func last(i int, a interface{}) bool {
    return i == reflect.ValueOf(a).Len() - 1
}
로그인 후 복사

이 함수를 등록하여 FuncMap의 일부로 템플릿 내에서 사용하면 마지막 항목에 "and"를 추가하여 원하는 쉼표로 구분된 목록을 쉽게 출력할 수 있습니다.

template.Must(template.New("abc").Funcs(fns).Parse(`{{range $i, $e := .}}{{if $i}}, {{end}}{{if last $i $}}and {{end}}{{$e}}{{end}}.`))
로그인 후 복사

이 솔루션은 재사용 가능하고 효과적인 방법을 제공합니다. 템플릿 범위의 마지막 항목을 식별하여 데이터 표시를 위한 Go 템플릿의 유연성을 향상시킵니다.

위 내용은 Go 템플릿 범위에서 마지막 항목을 식별하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿