[go] go 언어의 text/template/exec 패키지를 사용하여 동적 템플릿 로딩 방법

Go 언어의 text/template/exec 패키지는 텍스트 템플릿을 로드하고 실행하는 기능을 제공합니다. 이것은 웹 응용 프로그램 및 다른 동적 템플릿 시스템에서 유용하게 사용됩니다. 이 글에서는 이 패키지를 사용하여 동적 템플릿을 로드하는 방법에 대해 알아보겠습니다.

템플릿 로딩

package main

import (
    "os"
    "text/template"
)

func main() {
    tmpl, err := template.ParseFiles("template.tmpl")
    if err != nil {
        panic(err)
    }

    err = tmpl.Execute(os.Stdout, nil)
    if err != nil {
        panic(err)
    }
}

위 코드에서 template.tmpl은 템플릿 파일의 이름입니다. ParseFiles 함수를 사용하여 템플릿을 로드하고, Execute 함수를 사용하여 결과를 출력합니다.

템플릿 실행

실행 시에 데이터를 템플릿으로 전달할 수도 있습니다.

package main

import (
    "os"
    "text/template"
)

func main() {
    tmpl, err := template.ParseFiles("template.tmpl")
    if err != nil {
        panic(err)
    }

    data := struct {
        Title string
    }{
        Title: "동적 템플릿",
    }

    err = tmpl.Execute(os.Stdout, data)
    if err != nil {
        panic(err)
    }
}

위 코드에서는 Title 필드를 가진 데이터를 템플릿으로 전달하여 실행합니다.

결론

Go 언어의 text/template/exec 패키지를 사용하여 템플릿을 동적으로 로드하고 실행하는 방법을 살펴보았습니다. 이를 통해 유연하고 동적인 웹 응용 프로그램을 만들 수 있습니다.

참고 자료: