[go] html/template 패키지의 템플릿 모듈화

html/template 패키지는 Go 언어의 HTML 템플릿을 다루는 데 유용한 기능을 제공합니다. 이 패키지를 사용하여 템플릿을 모듈화하고 재사용 가능한 구성 요소로 만들 수 있습니다. 이번 글에서는 html/template 패키지를 사용하여 템플릿을 모듈화하는 방법에 대해 알아보겠습니다.

템플릿 모듈화의 이점

템플릿 모듈화는 코드의 재사용성을 높이고 유지보수를 용이하게 만듭니다. 여러 곳에서 반복적으로 사용되는 HTML 요소나 기능을 하나의 모듈로 만들어두면, 코드 중복을 줄일 수 있고 일관된 디자인을 유지할 수 있습니다.

템플릿 모듈화 예시

아래는 html/template 패키지를 사용하여 간단한 템플릿을 모듈화하는 예시 코드입니다.


package main

import (
    "html/template"
    "os"
)

func main() {
    const headerTemplate = `<!DOCTYPE html>
<html>
<head>
    <title>{{.Title}}</title>
</head>
<body>`

    const footerTemplate = `</body>
</html>`

    const contentTemplate = `<h1>{{.Title}}</h1>
<p>{{.Content}}</p>`

    data := struct {
        Title   string
        Content string
    }{
        "Welcome",
        "Hello, world!",
    }

    tmpl := template.Must(template.New("main").Parse(headerTemplate + contentTemplate + footerTemplate))
    tmpl.Execute(os.Stdout, data)
}

위 예시에서는 headerTemplate, footerTemplate, contentTemplate을 각각의 모듈로 분리하여 템플릿을 구성하고, 이를 하나의 템플릿으로 합친 뒤 데이터와 함께 실행하여 출력합니다.

마무리

html/template 패키지를 사용하여 템플릿을 모듈화하면 코드를 깔끔하게 유지하고 재사용성을 높일 수 있습니다. 이를 통해 웹 애플리케이션의 프론트엔드 코드를 효율적으로 관리할 수 있으며, 유지보수 비용을 절감할 수 있습니다.