[go] 템플릿 인자 전달

Go 언어에서는 HTML이나 다른 템플릿을 사용하여 동적 웹 페이지를 생성할 수 있습니다. 이때, 템플릿에 인자를 전달하여 동적 데이터를 출력할 수 있습니다. 이 포스트에서는 Go 언어에서 템플릿에 인자를 전달하는 방법에 대해 알아보겠습니다.

템플릿 인자 전달하기

Go 언어의 html/template 패키지를 사용하여 템플릿을 다룰 수 있습니다. 템플릿에 인자를 전달하기 위해서는 Execute 함수를 사용합니다. 아래는 간단한 예제 코드입니다.

package main

import (
    "html/template"
	"os"
)

type Data struct {
    Name string
    Age  int
}

func main() {
    tpl, _ := template.New("test").Parse("Hello, {{.Name}}! You are {{.Age}} years old.")
    data := Data{"Alice", 25}
    tpl.Execute(os.Stdout, data)
}

위 예제 코드에서는 Data 구조체를 정의하고, 해당 구조체의 인스턴스를 생성한 후에 Execute 함수를 통해 해당 데이터를 템플릿에 전달하고 있습니다.

기타 옵션

Execute 함수의 두 번째 인자로 전달하는 데이터에는, 구조체 뿐만 아니라 Map 형태의 데이터도 전달할 수 있습니다. 또한, 템플릿에서 특정 조건에 따라 다른 출력을 하거나, 반복 출력을 하는 등 다양한 제어 기능을 제공합니다.

마무리

이상으로 Go 언어에서 템플릿에 인자를 전달하는 방법에 대해 알아보았습니다. 템플릿을 사용할 때는 데이터를 템플릿에 전달하여 동적 웹페이지를 생성할 수 있으며, html/template 패키지에서 제공하는 다양한 기능을 활용할 수 있습니다.

참고문헌: