[go] go 언어의 text/template/exec 패키지를 사용하여 반복문 적용하는 방법

Go 언어의 text/template/exec 패키지는 텍스트 템플릿을 파싱하고 실행하는 기능을 제공합니다. 이를 사용하여 반복문을 적용하는 방법에 대해 알아보겠습니다.

템플릿 작성

먼저, 반복문을 적용할 템플릿을 작성합니다. 아래 예시는 users라는 배열을 반복하며 각 사용자의 이름을 출력하는 간단한 템플릿입니다.


const tmpl = `{{range .users}} 
{{.Name}}
{{end}}`

데이터 구조 정의

다음으로, 템플릿에서 사용할 데이터 구조를 정의합니다. 예를 들어, 사용자의 이름을 담고 있는 구조체 User와 이를 모아둔 배열 users를 정의합니다.

type User struct {
    Name string
}

var users = []User{
    {"Alice"},
    {"Bob"},
    {"Charlie"},
}

템플릿 실행

데이터 구조를 정의한 후에는 text/template 패키지를 사용하여 템플릿을 실행합니다. 아래 코드는 템플릿을 파싱하고 데이터를 적용하여 실행하는 예시입니다.

t := template.Must(template.New("tmpl").Parse(tmpl))
err := t.Execute(os.Stdout, struct{ Users []User }{users})
if err != nil {
    log.Fatal(err)
}

이제, 위의 코드를 실행하면 users 배열의 각 사용자의 이름이 반복되어 출력됩니다.

이와 같이 text/template/exec 패키지를 사용하면 템플릿을 효과적으로 실행하고 반복문을 적용할 수 있습니다.

참고문헌: