[go] html/template 패키지를 이용한 데이터 바인딩
go 언어는 html/template 패키지를 사용하여 데이터를 html 템플릿에 바인딩하는 간편한 방법을 제공합니다. 이를 통해 동적 웹 페이지를 구축할 수 있습니다.
템플릿 파일 작성
우선, 데이터를 바인딩할 HTML 템플릿 파일을 작성해야 합니다. 아래는 간단한 예시입니다.
<!DOCTYPE html>
<html>
<head>
<title>{{.Title}}</title>
</head>
<body>
<h1>{{.Heading}}</h1>
<p>{{.Content}}</p>
</body>
</html>
위의 예시에서 {{.Title}}
, {{.Heading}}
, {{.Content}}
와 같은 템플릿 태그들은 나중에 데이터와 바인딩 될 자리를 나타냅니다.
데이터와 템플릿 바인딩하기
이제 go 언어의 코드를 통해 데이터와 템플릿을 바인딩해 보겠습니다. 아래는 예시 코드입니다.
package main
import (
"html/template"
"os"
)
type Page struct {
Title string
Heading string
Content string
}
func main() {
page := Page{"제목", "대제목", "내용입니다."}
tmpl, err := template.New("page").ParseFiles("template.html")
if err != nil {
panic(err)
}
err = tmpl.Execute(os.Stdout, page)
if err != nil {
panic(err)
}
}
위의 예시 코드는 Page
구조체를 정의하고, 해당 구조체에 데이터를 채워넣은 후 template.ParseFiles
함수를 통해 템플릿 파일을 로드하고, tmpl.Execute
메서드를 사용하여 페이지를 출력합니다.
결론
html/template 패키지를 사용하면 go 언어에서 간편하게 데이터와 템플릿을 바인딩할 수 있습니다. 이를 통해 웹 애플리케이션을 개발하는 경우, 동적으로 데이터를 표시하거나 다양한 형태의 출력을 생성할 수 있습니다.
참고 자료
위와 같이 html/template
패키지를 사용하여 데이터와 템플릿을 바인딩하는 방법에 대해 간단히 살펴봤습니다.