[go] go 언어의 text/template/exec 패키지를 사용하여 템플릿에 조건문 삽입하는 방법

Go 언어의 text/templatetext/template/exec 패키지는 템플릿 기반의 텍스트 출력을 생성하는 데 사용됩니다. 이 패키지를 활용하여 템플릿에 조건문을 삽입하는 방법에 대해 알아보겠습니다.

템플릿 생성 및 조건문 삽입

우선, 템플릿을 생성하고 해당 템플릿에 조건문을 삽입하는 방법을 살펴봅시다.

package main

import (
	"os"
	"text/template"
)

func main() {
	// 템플릿 문자열 정의
	const tmpl = `{{if .Enabled}}Welcome!{{else}}Access Denied{{end}}`

	// 템플릿 생성
	t := template.Must(template.New("template").Parse(tmpl))

	// 템플릿에 전달할 데이터 정의
	data := struct {
		Enabled bool
	}{
		Enabled: true, // 조건을 만족하는 경우
	}

	// 템플릿 실행 및 출력
	t.Execute(os.Stdout, data)
}

위 코드에서는 text/template 패키지를 사용하여 tmpl이라는 템플릿을 정의하고, if .Enabled{{else}}를 사용하여 조건문을 삽입했습니다. 이후에는 템플릿 실행을 통해 조건에 따른 출력을 확인할 수 있습니다.

실행 및 출력 결과

위의 코드를 실행하면 Enabled 필드가 true로 설정되어 있기 때문에 “Welcome!”이 출력됩니다.

요약

이와 같이 Go 언어의 text/templatetext/template/exec 패키지를 사용하여 템플릿에 조건문을 삽입하고, 조건에 따른 출력을 생성할 수 있습니다. 이는 템플릿 기반의 동적인 텍스트 출력을 위한 강력한 도구로 활용할 수 있습니다.

더 많은 세부 내용 및 활용 방법은 Go 언어 공식 문서를 참고하시기 바랍니다.