[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 패키지는 다양한 내장 템플릿 함수를 제공합니다. 몇 가지 예시는 다음과 같습니다.

위의 함수 외에도, 함수를 활용하여 템플릿에서 다양한 기능을 수행할 수 있습니다.

템플릿 함수를 통해 Go 언어에서 동적인 HTML 페이지를 생성할 수 있으며, 이를 통해 웹 애플리케이션의 유연성을 높일 수 있습니다.

내용이 유용하게 사용되길 바랍니다!

Go 템플릿 설명

다음엔 좀 더 심화된 주제를 다루어 보겠습니다.