[go] go 언어의 text/template/exec 패키지를 사용하여 템플릿에서 변수를 삽입하는 방법은?
package main
import (
"os"
"text/template"
)
func main() {
tmpl, err := template.New("test").Parse("Hello, {{.Name}}!")
if err != nil {
panic(err)
}
data := struct {
Name string
}{
Name: "World",
}
err = tmpl.Execute(os.Stdout, data)
if err != nil {
panic(err)
}
}
위의 예제 코드에서는 {{.Name}}
부분이 템플릿에서 변수를 나타냅니다. tmpl.Execute()
메서드를 호출할 때 변수가 전달되어 실제 값으로 대체됩니다. 이 코드를 실행하면 “Hello, World!”가 출력됩니다.
더 복잡한 템플릿을 작성할 때에도 이 방법을 활용하여 원하는 값을 변수로 삽입할 수 있습니다. 잘못된 변수명을 사용하거나 필요한 데이터가 전달되지 않는 등의 오류를 방지하기 위해 구조체 형태로 데이터를 전달하는 것이 좋습니다.
추가로 참고할 자료로는 text/template 패키지 문서를 참조할 수 있습니다.