Maison >développement back-end >Golang >Comment résoudre les erreurs « fonction non définie » lors de l'analyse des modèles Go avec des fonctions personnalisées ?
Les fonctions personnalisées doivent être enregistrées avant d'analyser les modèles dans Go. Lorsque vous tentez d'accéder à une fonction non enregistrée, vous pouvez rencontrer une erreur telle que :
Error: template: struct.tpl:3: function "makeGoName" not defined
Pour résoudre ce problème, créez un nouveau modèle non défini à l'aide de template.New(). Le type template.Template renvoyé par template.New() a une méthode Template.ParseFiles() qui doit être utilisée à la place de template.ParseFiles().
Voici un exemple :
t, err := template.New("struct.tpl").Funcs(template.FuncMap{ "makeGoName": makeGoName, "makeDBName": makeDBName, }).ParseFiles("templates/struct.tpl")
Lorsque vous utilisez template.ParseFiles(), vous devez spécifier le nom de base du fichier en cours d'exécution dans template.New().
Rappelez-vous, Template.Execute() renvoie également une erreur. Si aucune sortie n'est générée, imprimez l'erreur :
if err := t.Execute(os.Stdout, data); err != nil { fmt.Println(err) }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!