Нет доступа к полям структуры, передаваемой из приложение golang в html template

Коллеги, подскажите в чем не прав. Голову сломал уже. Есть template вида:

{{ define "myreports" }}
{{template "header" }}


<div>
    <link rel="stylesheet" href="/assets/zapros.css">
    <table>
        <thead><th>  </th> <th>НАИМЕНОВАНИЕ</th><th>СРОК ПРЕДСТАВЛЕНИЯ</th><th>ДАТА ПОСЛЕДНЕГО ИЗМЕНЕНИЯ</th><th>ДАТА ВОЗВРАТА НА ДОРАБОТКУ</th><th>ДАТА ПОДТВЕРЖДЕНИЯ</th><th>  </th></thead>
        {{range $id, $value := . }}  
        <tr> 
            <td>{{ . }}</td>
            <td>{{ $value.id}}</td>
            <td>{{ $value.namezapr}}</td>
            <td>{{ $value.dead_line}}</td>
            <td>{{ $value.last_change}}</td>
            <td>{{ $value.first_change}}</td>
            <td>{{ $value.back_date}}</td>
            <td>{{ $value.fin_date}}</td>
        </tr>
        {{end}}
    </table>


</div>

{{ end }}

Есть хэндлер на golang вида:

func MyreportsHandler(w http.ResponseWriter, r *http.Request) {

    rows, err := database.Query("select * from ZaprosT")
    if err != nil {
        log.Println(err)
    }
    defer rows.Close()
    zaproses := make(map[int]zapros)

    for rows.Next() {
        p := zapros{}
        err := rows.Scan(&p.id, &p.namezapr, &p.dead_line, &p.last_change, &p.first_change, &p.back_date, &p.fin_date)
        if err != nil {
            fmt.Println(err)
            continue
        }
        zaproses[p.id] = p
    }

    t := template.Must(template.New("myreports").ParseFiles("templates/myreports.html"))
    t = template.Must(t.ParseFiles("templates/header.html"))
    t.Execute(w, zaproses)
    if err != nil {
        fmt.Println(err)
    }


}

По всем учебникам структура из мапа должна выводиться в темплейт, но не выводится. Если вывожу весь контекст в стиле {{ . }} выводится весь мап. Данные из бд поступают успешно. Не могу понять что не так.


Ответы (1 шт):

Автор решения: Дмитрий Сэр

Благодаря камраду Pak Uula ответ был оперативно найден. Все дело в моем пока еще недостаточном знании синтаксиса и некоторых правил Golang, который не позволяет подстановку структуры с неэкспортированными полями (имена полей начинаются с маленькой буквы). Хотя моя версия Golang принимала код без проблем. После замены имен полей структуры zapros на имена, начинающиеся с заглавной буквы все завелось.

→ Ссылка