> 백엔드 개발 > Golang > Go 템플릿을 사용하여 HTML 코드를 지정된 횟수만큼 반복하려면 어떻게 해야 하나요?

Go 템플릿을 사용하여 HTML 코드를 지정된 횟수만큼 반복하려면 어떻게 해야 하나요?

Linda Hamilton
풀어 주다: 2024-12-27 06:06:20
원래의
918명이 탐색했습니다.

How can I repeat HTML code a specified number of times using Go templates?

Go 템플릿으로 HTML 코드 반복

Go를 사용한 웹 개발에서는 지정된 HTML 줄을 반복해야 하는 경우가 있습니다. 횟수. Go 템플릿을 사용하여 이를 달성하는 방법을 살펴보겠습니다.

{{range}} 작업 사용

Go 템플릿 내에서 HTML의 일부를 반복하려면 다음을 활용할 수 있습니다. {{범위}} 작업. 그러나 이 작업에는 슬라이스, 배열 또는 맵과 같은 반복 가능한 객체가 필요합니다.

0 값 슬라이스 전달

실제 데이터 구조를 생성하는 대신 , 기본적으로 할당된 메모리가 없는 값이 0인 슬라이스를 전달할 수 있습니다. 이 조각은 반복할 {{range}} 작업에 대한 자리 표시자 역할을 합니다. 예:

const templ = `<ul>
{{range $idx, $e := .}}
    <li><a href="/?page={{$idx}}">{{$idx}}</a></li>
{{end}}
</ul>`
로그인 후 복사
tmpl := template.Must(template.New("").Parse(templ))
n := 5
if err := tmpl.Execute(os.Stdout, make([]struct{}, n)); err != nil {
    panic(err)
}
로그인 후 복사

출력:

<ul>

    <li><a href="/?page=0">0</a></li>

    <li><a href="/?page=1">1</a></li>

    <li><a href="/?page=2">2</a></li>

    <li><a href="/?page=3">3</a></li>

    <li><a href="/?page=4">4</a></li>

</ul>
로그인 후 복사

채워진 슬라이스 사용

인덱스를 시작해야 하는 경우 0이 아닌 값인 경우 슬라이스를 원하는 값으로 채운 다음 반복하는 것을 고려해 보세요.

tmpl := template.Must(template.New("").Parse(templ))
n := 5
values := make([]int, n)
for i := range values {
    values[i] = (i + 1) * 2
}
if err := tmpl.Execute(os.Stdout, values); err != nil {
    panic(err)
}
로그인 후 복사

출력:

<ul>

    <li><a href="/?page=2">2</a></li>

    <li><a href="/?page=4">4</a></li>

    <li><a href="/?page=6">6</a></li>

    <li><a href="/?page=8">8</a></li>

    <li><a href="/?page=10">10</a></li>

</ul>
로그인 후 복사

0 값 슬라이스 및 사용자 정의 함수 사용

대체 접근 방식은 주어진 숫자를 증가시키고 결과를 반환하는 사용자 정의 함수입니다. 이를 통해 값이 0인 슬라이스를 사용하고 템플릿 내에서 함수를 호출하여 원하는 숫자를 얻을 수 있습니다.

func main() {
    tmpl := template.Must(template.New("").Funcs(template.FuncMap{
        "Add": func(i int) int { return i + 1 },
    }).Parse(templ))
    n := 5
    if err := tmpl.Execute(os.Stdout, make([]struct{}, n)); err != nil {
        panic(err)
    }
}

const templ = `<ul>
{{range $idx, $e := .}}{{$idx := (Add $idx)}}
    <li><a href="/?page={{$idx}}">{{$idx}}</a></li>
{{end}}
</ul>`
로그인 후 복사

출력:

<ul>

    <li><a href="/?page=1">1</a></li>

    <li><a href="/?page=2">2</a></li>

    <li><a href="/?page=3">3</a></li>

    <li><a href="/?page=4">4</a></li>

    <li><a href="/?page=5">5</a></li>

</ul>
로그인 후 복사

위 내용은 Go 템플릿을 사용하여 HTML 코드를 지정된 횟수만큼 반복하려면 어떻게 해야 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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