[go] go 언어의 html/template 패키지 소개

Go 언어는 html/template 패키지를 제공하여 HTML 템플릿을 사용하고 웹 애플리케이션을 개발할 수 있습니다. 이 패키지를 사용하면 안전하고 효율적인 방법으로 동적 HTML 페이지를 생성할 수 있습니다.

이 블로그에서는 Go 언어의 html/template 패키지를 간단히 소개하고, 간단한 예제를 통해 실제 사용법을 살펴보겠습니다.

목차

  1. html/template 패키지 소개
  2. 템플릿 작성하기
  3. 템플릿 실행하기
  4. 템플릿 예제

html/template 패키지 소개

html/template 패키지는 Go 언어에서 템플릿을 생성하고 실행하기 위한 기능을 제공합니다. 이 패키지를 사용하면 HTML을 안전하게 생성하고, 데이터를 템플릿에 삽입하여 동적으로 웹 페이지를 생성할 수 있습니다. 또한, Cross-Site Scripting (XSS) 공격으로부터 보호하기 위한 방어 기능도 제공합니다.

템플릿 작성하기

html/template 패키지를 사용하여 템플릿을 작성할 때에는 New 함수를 사용하여 새로운 템플릿을 생성하고, Parse 메서드를 사용하여 템플릿을 파싱합니다.


import "html/template"

// Create a new template
tmpl := template.New("mytemplate")

// Parse a template from a string
tmpl, err := tmpl.Parse("Hello, {{.Name}}!")

템플릿 실행하기

작성한 템플릿을 실행하기 위해서는 Execute 메서드를 사용하여 템플릿에 데이터를 삽입하고 실행합니다.

// Execute the template with data
err := tmpl.Execute(os.Stdout, map[string]string{"Name": "World"})

템플릿 예제

간단한 “Hello, World!” 예제를 통해 html/template 패키지의 사용법을 살펴보겠습니다.


package main

import (
	"html/template"
	"os"
)

func main() {
	// Create a new template
	tmpl := template.New("mytemplate")

	// Parse a template from a string
	tmpl, _ = tmpl.Parse("Hello, {{.Name}}!")

	// Execute the template with data
	tmpl.Execute(os.Stdout, map[string]string{"Name": "World"})
}

이렇게 html/template 패키지를 사용하여 간단한 동적 웹 페이지를 생성할 수 있습니다. Go 언어의 html/template 패키지는 안전한 웹 애플리케이션을 개발하는 데 필수적인 도구이며, 효율적인 방법으로 템플릿을 활용할 수 있도록 도와줍니다.

참고 자료