[go] 템플릿 반복문

Go 언어에서는 html/template 패키지를 사용하여 템플릿을 생성하고 실행할 수 있습니다. 이 패키지를 사용하면 HTML 템플릿에서 데이터를 반복하여 출력하는 것이 가능합니다.

템플릿 파일 작성

먼저, 반복을 수행할 템플릿을 작성합니다. 예를 들어, 아래와 같은 HTML 템플릿 파일인 template.html을 작성합니다.


<!DOCTYPE html>
<html>
<head>
    <title>반복문 템플릿 예제</title>
</head>
<body>
    <h1>사용자 리스트</h1>
    <ul>
        {{range .Users}}
            <li>{{.Name}}</li>
        {{end}}
    </ul>
</body>
</html>

위의 템플릿은 Users라는 슬라이스 구조체 필드에서 사용자 이름을 반복하여 출력합니다.

Go 코드 작성

다음으로, 템플릿을 실행할 Go 언어의 코드를 작성합니다. 아래는 템플릿을 파일에서 읽어들이고 데이터를 전달하여 실행하는 예제 코드입니다.

package main

import (
    "html/template"
    "os"
)

type User struct {
    Name string
}

type Data struct {
    Users []User
}

func main() {
    users := []User{
        {"사용자1"},
        {"사용자2"},
        {"사용자3"},
    }

    data := Data{Users: users}

    tpl, err := template.ParseFiles("template.html")
    if err != nil {
        panic(err)
    }

    err = tpl.Execute(os.Stdout, data)
    if err != nil {
        panic(err)
    }
}

위의 코드는 template.html 파일을 파싱하고, Data 구조체를 이용하여 템플릿을 실행하여 출력합니다.

이렇게 작성된 코드를 실행하면, 사용자 리스트가 반복하여 출력되는 것을 확인할 수 있습니다.

이와 같이 html/template 패키지를 사용하여 Go 언어에서 템플릿을 반복하여 실행할 수 있습니다.