> 백엔드 개발 > Golang > Go 템플릿에 여러 데이터 개체를 전달하는 방법은 무엇입니까?

Go 템플릿에 여러 데이터 개체를 전달하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-29 05:58:10
원래의
277명이 탐색했습니다.

How to Pass Multiple Data Objects to a Go Template?

Go 템플릿에 여러 데이터 개체 전달

소개
Go 템플릿의 기능을 향상하려면 전달이 필요한 경우가 많습니다. 여러 데이터 객체를 그들에게 전달합니다. 이를 통해 템플릿에 복잡한 데이터 구조를 표시할 수 있습니다.

템플릿 데이터의 데이터 구성
여러 데이터 개체를 전달하기 위해 이를 단일 값으로 구성할 수 있습니다.

구조체 사용
데이터에 대해 내보낸 필드가 있는 구조체 만들기 객체:

type Data struct {
    Results []User // MongoDB query result
    Other   []int  // Integer array
}
로그인 후 복사

예:

data := &Data{results, []int{1, 2, 3}}
로그인 후 복사

맵 사용
이름이 지정된 데이터에 대한 문자열 키가 있는 맵 생성 값:

m := map[string]interface{}{
    "Results": results,
    "Other":   []int{1, 2, 3},
}
로그인 후 복사

예:

m := map[string]interface{}{
    "Users":       results,
    "AdditionalData": []int{1, 2, 3},
}
로그인 후 복사

템플릿의 데이터 액세스
템플릿에서 구성된 데이터에 액세스할 수 있습니다.

{{range .Results}}
    Name: {{.Name}}
{{end}}
로그인 후 복사
{{range $key, $val := .Results}}
    {{$key}}: {{$val.Name}}
{{end}}
로그인 후 복사
{{.Other}}
로그인 후 복사

예시 실행

GetTemplate("list").Execute(w, data)
GetTemplate("list").Execute(w, m)
로그인 후 복사

대체 접근 방식
위의 방법이 널리 사용되지만 다른 옵션은 다음과 같습니다.

  • 채널을 통해 데이터 전달
  • 사용자 정의 기능 등록

위 내용은 Go 템플릿에 여러 데이터 개체를 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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