Maison >développement back-end >Golang >Comment utiliser le moteur de modèles en langage Go

Comment utiliser le moteur de modèles en langage Go

藏色散人
藏色散人avant
2020-09-12 13:29:564489parcourir

Ce qui suit est une introduction au langage Go du tutoriel golang colonne Utilisez le moteur de modèles, j'espère qu'il sera utile à vos amis dans le besoin !

Comment utiliser le moteur de modèles en langage Go

1 Présentation

Lors du traitement du corps de la réponse, la manière la plus courante consiste à envoyer le code HTML traité, car les données doit être intégré au HTML, un moteur de modèle est alors le meilleur choix.

Dans le langage Go, le package html/template est fourni pour implémenter les fonctions associées du moteur de modèles. Exemple d'utilisation rapide :

main.go

package mainimport (
  "html/template"
  "log"
  "net/http")func main() {
  // 设置 处理函数
  http.HandleFunc("/", TestAction)
   开启监听(监听浏览器请求)
  log.Fatal(http.ListenAndServe(":8084", nil))}func TestAction(w http.ResponseWriter, r *http.Request) {
  // 解析模板
  t, _ := template.ParseFiles("template/index.html")
  // 设置模板数据
  data := map[string]interface{}{
    "User": "小韩说课",
    "List": []string{"Go", "Python", "PHP", "JavaScript"},
  }
  // 渲染模板,发送响应
  t.Execute(w, data)}

template/index.html

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>小韩说课</title></head><body>Hello, {{ .User }}<br>你熟悉的技术:<ul>{{ range .List }}    <li>{{.}}</li>{{end}}</ul></body></html>

Résultat de l'exécution :

Comment utiliser le moteur de modèles en langage Go

Le code ci-dessus complète l'utilisation de base du moteur de modèles, y compris l'analyse des modèles, le rendu des données et la réponse aux opérations de résultat. Les détails suivent.

2 Analyser le modèle

La fonction template.ParseFiles(filenames ...string) (*Template, error) peut analyser le fichier modèle et obtenir l'objet modèle. Le paramètre est un fichier modèle. Dans le même temps, le nom du fichier modèle (à l'exclusion du suffixe) sera utilisé comme nom du modèle.

Vous pouvez également utiliser template.New("name").Parse(src string) pour créer des objets de modèle et compléter l'analyse du contenu du modèle.

3 Appliquer les données et envoyer la réponse

Fonction func (t *Template) Execute(wr io.Writer, data interface{}) error Appliquer les données au modèle analysé et écrire la sortie dans wr. Si une erreur se produit lors de l'exécution, l'exécution s'arrêtera, mais certaines données de wr peuvent avoir été écrites.

les données de données peuvent accepter n'importe quel type, le type le plus courant est : map[string]interface{}, une partie des données allouées se distingue par différents indices. Utilisez .User, .List dans les modèles pour accéder à l'utilisateur et à la liste dans les données d'allocation.

Terminé !

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer