Golang 템플릿에서 HTML 반복
Golang에서는 템플릿의 요소 목록을 반복할 때 {{range }} 행동. 그러나 반복하려면 배열이나 슬라이스가 필요합니다. HTML 줄을 여러 번 반복하려면 빈 조각을 만들고 0 값이나 특정 값으로 채울 수 있습니다.
0 값 조각 사용
우리는 필요한 반복 횟수를 나타내기 위해 빈 슬라이스 make([]struct{}, n)를 만들 수 있습니다. 그런 다음 템플릿에서 {{range}}${} 구문을 사용하여 슬라이스를 반복합니다. 예:
tmpl := template.Must(template.New("").Parse(` <ul> {{range $idx, $e := .}} <li><a href="/?p={{idx}}">{{$idx}}</a></li> {{end}} </ul>`)) n := 5 tmpl.Execute(w, make([]struct{}, n))
채워진 슬라이스 사용
또는 특정 값으로 슬라이스를 채울 수도 있습니다. 이 접근 방식을 사용하면 HTML 코드에서 인덱스($idx) 사용을 건너뛸 수 있습니다. 예:
tmpl := template.Must(template.New("").Parse(` <ul> {{range .}} <li><a href="/?p={{.}}">{{.}}</a></li> {{end}} </ul>`)) values := make([]int, 5) for i := range values { values[i] = i + 1 } tmpl.Execute(w, values)
값이 0인 슬라이스 및 사용자 정의 함수 사용
또 다른 옵션은 슬라이스 인덱스에 1을 더하고 다음을 반환하는 사용자 정의 함수를 생성하는 것입니다. 결과. 이를 통해 숫자를 1씩 증가시키면서 슬라이스 인덱스를 사용할 수 있습니다. 예:
tmpl := template.Must(template.New("").Funcs(template.FuncMap{ "Add": func(i int) int { return i + 1 }, }).Parse(` <ul> {{range $idx, $e := .}}{{$idx := (Add $idx)}} <li><a href="/?p={{$idx}}">{{$idx}}</a></li> {{end}} </ul>`)) n := 5 tmpl.Execute(w, make([]struct{}, n))
이러한 접근 방식은 특정 요구 사항에 따라 HTML 줄을 여러 번 반복할 수 있는 유연한 방법을 제공합니다.
위 내용은 Golang 템플릿을 사용하여 HTML 라인을 여러 번 반복하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!