Maison >développement back-end >Golang >Comment capturer la sortie du modèle Go dans une variable ?
Capturer la sortie d'un modèle dans Go
Dans un modèle Go, il est impossible d'attribuer directement une sortie de modèle à une variable en utilisant la syntaxe {$ var := modèle}. Au lieu de cela, il est nécessaire d'enregistrer une fonction personnalisée pour capturer la sortie du modèle.
Enregistrement de fonction
Pour enregistrer une fonction, utilisez la fonction Template.Funcs(). Il vous permet de définir un ensemble de fonctions qui peuvent être utilisées dans votre modèle.
Exécution du modèle
Pour exécuter un modèle nommé et capturer sa sortie, utilisez Modèle. ExécuterTemplate(). Cette fonction prend un tampon comme cible, vous permettant d'écrire directement la sortie du modèle dans le tampon.
Exemple
Voici un exemple qui démontre l'utilisation d'un tampon enregistré. fonction pour capturer le modèle sortie :
package main import ( "bytes" "fmt" "text/template" ) var t *template.Template func execTempl(name string) (string, error) { buf := &bytes.Buffer{} err := t.ExecuteTemplate(buf, name, nil) return buf.String(), err } func main() { t = template.Must(template.New("").Funcs(template.FuncMap{ "execTempl": execTempl, }).Parse(tmpl)) if err := t.Execute(os.Stdout, nil); err != nil { panic(err) } } const tmpl = `{{define "my-template"}}my-template content{{end}} See result: {{$var := execTempl "my-template"}} {{$var}} `
Sortie :
See result: my-template content
Dans cet exemple, la fonction execTempl() est enregistrée et utilisée dans le modèle pour exécuter le "my- template" et capturez sa sortie, qui est ensuite affectée à la variable de modèle $var et affichée dans la sortie.
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!