> 백엔드 개발 > Golang > Go 템플릿에서 반복되는 HTML 구조를 효율적으로 생성하려면 어떻게 해야 합니까?

Go 템플릿에서 반복되는 HTML 구조를 효율적으로 생성하려면 어떻게 해야 합니까?

Linda Hamilton
풀어 주다: 2024-12-20 17:50:17
원래의
911명이 탐색했습니다.

How Can I Efficiently Create Repeating HTML Structures in Go Templates?

Go 템플릿을 사용하여 반복 HTML 구조 생성

Go 웹 애플리케이션에서는 HTML 요소를 반복적으로 생성해야 하는 경우가 발생합니다. 예를 들어, 목록에 페이지 매기기 링크를 만들려면 한 줄의 코드를 여러 번 복제해야 할 수도 있습니다. 이 기사에서는 Go 템플릿과 고유한 반복 기능을 활용하는 효과적인 솔루션을 보여줍니다.

{{range}} 작업 활용

템플릿에서 반복을 달성하기 위해 Go는 다음을 사용합니다. {{범위}} 작업. 그러나 이 작업에는 슬라이스, 배열 또는 맵과 같은 반복 가능한 데이터 구조가 필요합니다. 빈 슬라이스는 최소한의 메모리 오버헤드를 소비하므로 이를 용이하게 하기 위해 빈 슬라이스를 템플릿에 전달할 수 있습니다.

솔루션 구현

페이지 매김을 생성하는 다음 템플릿을 고려하세요. 링크:

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

함께 제공되는 테스트 코드에서는 특정 길이의 슬라이스를 초기화하고 이를 템플릿:

func main() {
    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부터 시작) )이 적합하지 않은 경우 표시되는 숫자를 사용자 정의하도록 선택할 수 있습니다. 두 가지 접근 방식을 사용할 수 있습니다:

1. 슬라이스 채우기: 슬라이스 요소에 명시적인 값을 할당합니다.

2. 사용자 정의 함수 사용: 숫자를 증가시키는 함수를 정의하고 템플릿 내에서 호출합니다.

이 두 방법 모두 생성된 요소의 번호 매기기를 제어할 수 있습니다.

유연성을 활용하여 Go 템플릿과 이러한 기술을 사용하면 Golang 웹 애플리케이션 내에서 HTML 구조를 반복하는 프로세스를 간소화할 수 있습니다.

위 내용은 Go 템플릿에서 반복되는 HTML 구조를 효율적으로 생성하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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