[go] 템플릿 공용 함수 등록
이번 포스트에서는 Go 언어의 템플릿에 공용 함수를 등록하는 방법에 대해 알아보겠습니다.
템플릿 함수 등록
Go의 html/template 패키지를 이용하면, 템플릿의 함수를 등록하여 템플릿 내에서 사용할 수 있습니다. 함수를 등록하려면, 다음과 같이 funcMap
을 사용합니다.
import (
"html/template"
"os"
)
func main() {
tmpl := template.New("myTemplate").Funcs(template.FuncMap{
"add": func(a, b int) int {
return a + b
},
})
}
위의 예제에서 add
함수를 등록했습니다. 이제 템플릿 내에서 {{ add 1 2 }}
와 같이 사용할 수 있습니다.
사용 예제
다음은 Go 프로그램에서 html/template 패키지를 사용한 사용 예제입니다.
package main
import (
"html/template"
"os"
)
func main() {
tmpl := template.Must(template.New("myTemplate").Funcs(template.FuncMap{
"add": func(a, b int) int {
return a + b
},
}).Parse("Result: {{ add 1 2 }}"))
err := tmpl.Execute(os.Stdout, nil)
if err != nil {
panic(err)
}
}
위의 코드는 add
함수를 등록하고, 이를 템플릿 내에서 사용하여 실행 결과를 출력합니다.
마무리
이렇게 Go 언어의 템플릿에 공용 함수를 등록하는 방법을 알아보았습니다. 템플릿 함수를 등록하면, 템플릿을 보다 더 다양하게 사용할 수 있게 됩니다.
참고 문헌: The Go Programming Language Specification