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 중국어 웹사이트의 기타 관련 기사를 참조하세요!