Go 템플릿에 여러 데이터 전달
Go에서는 템플릿을 채울 때 단일 값을 전달할 수 있습니다. 구조체, 맵 또는 슬라이스와 같은 복합 값.
여러 데이터 객체를 템플릿:
구조체 사용:
원하는 데이터 객체를 내보낸 필드로 포함하는 구조체 만들기:
type Data struct { Results []User // MongoDB query result Other []int // Integer array }
구조체를 다음 위치에 전달합니다. 템플릿 실행:
data := &Data{results, []int{1, 2, 3}} if err := GetTemplate("list").Execute(w, data); err != nil { // Handle error }
템플릿:
{{range .Results}} User name: {{.Name}} {{end}} {{range .Other}} {{.}} {{end}}
맵 사용:
데이터 개체를 키-값 쌍으로 사용하여 맵 생성:
m := map[string]interface{}{ "Results": results, "Other": []int{1, 2, 3}, }
통과 템플릿 실행 지도:
if err := GetTemplate("list").Execute(w, m); err != nil { // Handle error }
템플릿:
{{range .Results}} User name: {{.Name}} {{end}} {{range .Other}} {{.}} {{end}}
슬라이스 사용:
가독성은 떨어지지만 인터페이스 슬라이스를 전달할 수도 있습니다.{}:
s := []interface{}{ results, []int{1, 2, 3}, }
조각을 템플릿 실행에 전달합니다.
if err := GetTemplate("list").Execute(w, s); err != nil { // Handle error }
템플릿:
{{range index . 0}} User name: {{.Name}} {{end}} Other: {{index . 1}}
참고: 사용자 정의 함수나 채널을 사용하여 여러 데이터 개체를 전달할 수도 있지만 덜 일반적인 방식으로 간주됩니다.
위 내용은 Go 템플릿에 여러 데이터 개체를 어떻게 전달할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!