[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 패키지를 사용하여 데이터와 템플릿을 바인딩하는 방법에 대해 간단히 살펴봤습니다.