> 백엔드 개발 > Golang > 템플릿을 사용하여 Go 웹 애플리케이션에서 HTML 코드를 여러 번 반복하려면 어떻게 해야 하나요?

템플릿을 사용하여 Go 웹 애플리케이션에서 HTML 코드를 여러 번 반복하려면 어떻게 해야 하나요?

Barbara Streisand
풀어 주다: 2024-12-22 11:05:11
원래의
712명이 탐색했습니다.

How can I repeat HTML code multiple times in a Go web application using templates?

Go에서 HTML 코드를 여러 번 반복

Go 웹 애플리케이션에서는 n 값에 따라 특정 HTML 줄을 여러 번 출력해야 합니다. .

이에 접근하는 방법은 다음과 같습니다.

HTML 템플릿에서 {{range}} 작업은 다음을 허용합니다. 항목을 반복합니다. 그러나 이 작업을 수행하려면 작업할 슬라이스, 배열 또는 맵이 필요합니다.

0 값 슬라이스 전달

이 요구 사항을 충족하려면 다음을 수행하세요. make([]struct{}, n)와 같이 메모리가 할당되지 않은 빈 슬라이스를 전달합니다.

템플릿 코드:

<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>
로그인 후 복사

채워진 항목 사용하기 슬라이스

링크의 시작 인덱스를 사용자 정의하려면 특정 값으로 슬라이스를 채울 수 있습니다.

템플릿 코드:

<ul>
{{range .}}
    <li><a href="/?page={{.}}">{{.}}</a></li>
{{end}}
</ul>
로그인 후 복사

예시 테스트 코드:

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>
로그인 후 복사

사용자 정의 함수 사용

마침내 , 템플릿 내의 사용자 정의 기능을 사용하여 인덱스 값을 다음과 같이 수정할 수 있습니다. 필요합니다.

템플릿 코드:

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

사용자 정의 기능:

func Add(i int) int {
    return i + 1
}
로그인 후 복사

출력:

<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으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿