Шаблоны Golang (и передача функций в шаблон)

Я получаю сообщение об ошибке при попытке получить доступ к функции, которую я передаю моему шаблону:

Error: template: struct.tpl:3: function "makeGoName" not defined

Может кто-нибудь, пожалуйста, дайте мне знать, что я делаю не так?

Файл шаблона (struct.tpl):

type {{.data.tableName}} struct {
  {{range $key, $value := .data.tableData}}
  {{makeGoName $value.colName}} {{$value.colType}} `db:"{{makeDBName $value.dbColName}},json:"{{$value.dbColName}}"`
  {{end}}
}

Файл вызова:

type tplData struct {
    tableName string
    tableData interface{}
}

func doStuff() {
    t, err := template.ParseFiles("templates/struct.tpl")
    if err != nil {
        errorQuit(err)
    }

    t = t.Funcs(template.FuncMap{
        "makeGoName": makeGoName,
        "makeDBName": makeDBName,
    })

    data := tplData{
        tableName: tableName,
        tableData: tableInfo,
    }

    t.Execute(os.Stdout, data)
}

func makeGoName(name string) string {
    return name
}

func makeDBName(name string) string {
    return name
}

Это для программы, которая генерирует структурный шаблонный код (на случай, если кому-то интересно, почему я делаю это в своем шаблоне).

Ответы на вопрос(1)

Ваш ответ на вопрос