"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Go에 포함된 템플릿에 데이터를 전달하는 방법은 무엇입니까?

Go에 포함된 템플릿에 데이터를 전달하는 방법은 무엇입니까?

2024년 11월 24일에 게시됨
검색:684

How to Pass Data to Included Templates in Go?

Go에서 렌더링된 템플릿에 데이터 전달

다른 템플릿을 포함하는 In Go 템플릿은 {{ 템플릿 "include- 템플릿 이름" }} 구문. 그러나 포함된 템플릿에 추가 데이터를 전달해야 하는 경우도 있습니다.

동적 매개변수 전달 소개

템플릿에 숫자를 전달하려는 시나리오를 생각해 보세요. , "image_row.html"은 이 번호를 사용하여 행을 동적으로 구성합니다. 이를 위해서는 숫자를 템플릿 호출에 대한 추가 인수로 전달해야 합니다.

여러 인수 전달을 위한 사용자 정의 함수

여러 인수 전달을 기본적으로 지원하지 않기 때문입니다. 템플릿을 사용하면 인수를 단일 조각으로 병합하는 사용자 지정 함수를 만들 수 있습니다. 이 함수를 Funcs에 등록하고 템플릿 호출에서 사용합니다:

func args(vs ...interface{}) []interface{} { return vs }
t, err := template.New("t").Funcs(template.FuncMap{"args":args}).Parse...

템플릿 호출에서의 사용

기본 템플릿 내에서 args 함수를 사용하여 인수를 전달할 수 있습니다.

{{ template "image_row" args . 5 }}

포함된 템플릿의 인수 액세스

"image_row.html" 내에서 내장된 인덱스 함수를 사용하여 인수에 액세스할 수 있습니다:

{{ define "image_row" }}
   To stuff here {{index . 0}} {{index . 1}}
{{ end }}

이 접근 방식을 사용하면 렌더링된 템플릿에 동적 데이터를 전달할 수 있어 템플릿 디자인 및 데이터 처리에 있어 유연성이 향상됩니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3