[go] 템플릿 함수
Go 언어에서는 html/template 패키지를 사용하여 HTML 템플릿을 다룰 수 있습니다. 이 패키지는 {{ }}
구문을 사용하여 템플릿 함수를 호출하고 값을 출력하는 기능을 제공합니다. 이를 통해 동적인 HTML 페이지를 생성할 수 있습니다.
템플릿 함수 작성하기
템플릿 함수는 Funcs
메서드를 사용하여 정의할 수 있습니다. 아래는 템플릿 함수를 정의하고 활용하는 예제 코드입니다.
package main
import (
"html/template"
"os"
)
func main() {
tmpl, _ := template.New("test").Funcs(template.FuncMap{
"add": func(x, y int) int {
return x + y
},
}).Parse("{{add .X .Y}}")
data := struct {
X int
Y int
}{3, 4}
_ = tmpl.Execute(os.Stdout, data)
}
위 코드의 실행 결과는 “7”이 출력됩니다. 여기서 Funcs
메서드를 사용하여 add
템플릿 함수를 정의하고, Parse
메서드를 사용하여 해당 템플릿을 파싱한 후 실행하여 값을 출력합니다.
주요 템플릿 함수
Go의 html/template
패키지는 다양한 내장 템플릿 함수를 제공합니다. 몇 가지 예시는 다음과 같습니다.
{{.Field}}
: 구조체 필드의 값을 출력합니다.{{range .Items}} ... {{end}}
: 반복문을 수행합니다.{{if .Condition}} ... {{end}}
: 조건문을 수행합니다.
위의 함수 외에도, 함수를 활용하여 템플릿에서 다양한 기능을 수행할 수 있습니다.
템플릿 함수를 통해 Go 언어에서 동적인 HTML 페이지를 생성할 수 있으며, 이를 통해 웹 애플리케이션의 유연성을 높일 수 있습니다.
내용이 유용하게 사용되길 바랍니다!
다음엔 좀 더 심화된 주제를 다루어 보겠습니다.