[go] 문자열 템플릿

Go 언어에서 문자열 템플릿을 사용하는 방법에 대해 알아보겠습니다.

문자열 템플릿이란?

문자열 템플릿은 문자열 안에 변수나 표현식을 삽입할 수 있는 기능을 말합니다. 이는 문자열을 동적으로 생성하고 원하는 포맷으로 표시할 수 있게 해줍니다.

표준 라이브러리의 문자열 템플릿 사용하기

Go 표준 라이브러리에서는 text/templatehtml/template 패키지를 사용하여 문자열 템플릿을 다룰 수 있습니다.

package main

import (
	"os"
	"text/template"
)

func main() {
	tmpl, err := template.New("example").Parse("Hello, {{.Name}}")
	if err != nil {
		panic(err)
	}

	data := map[string]string{"Name": "World"}
	err = tmpl.Execute(os.Stdout, data)
	if err != nil {
		panic(err)
	}
}

위의 예제에서는 text/template 패키지를 사용하여 간단한 문자열 템플릿을 파싱하고 실행하는 방법을 보여줍니다.

사용자 정의 함수와 조건문

또한, text/template 패키지는 사용자 정의 함수와 조건문 등의 제어 구조를 템플릿에 적용할 수 있도록 다양한 기능을 제공합니다.

package main

import (
	"os"
	"text/template"
)

func main() {
	funcMap := template.FuncMap{
		"addOne": func(x int) int {
			return x + 1
		},
	}

	tmpl, err := template.New("example").Funcs(funcMap).Parse("Result: {{addOne .Value}}")
	if err != nil {
		panic(err)
	}

	data := map[string]int{"Value": 5}
	err = tmpl.Execute(os.Stdout, data)
	if err != nil {
		panic(err)
	}
}

위의 예제에서는 addOne이라는 사용자 정의 함수를 템플릿에 적용하는 방법을 보여줍니다.

마치며

Go 언어에서는 표준 라이브러리를 활용하여 간편하게 문자열 템플릿을 다룰 수 있습니다. 이를 통해 동적인 문자열 생성과 다양한 제어 구조를 적용하여 템플릿을 다룰 수 있게 되며, 좀 더 유연하고 효과적인 코드를 작성할 수 있습니다.

더 자세한 내용은 text/template 패키지 문서를 참고하시기 바랍니다.