[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
패키지를 사용하면 템플릿을 효과적으로 실행하고 반복문을 적용할 수 있습니다.
참고문헌:
- 공식 Go 언어 문서, https://golang.org/pkg/text/template/
- Go 표준 라이브러리, https://golang.org/pkg/