Maison >développement back-end >Golang >Comment implémenter des modèles dans Golang

Comment implémenter des modèles dans Golang

PHPz
PHPzoriginal
2023-04-14 10:31:251042parcourir

Dans le développement Web, les modèles sont un concept très important. Un modèle fait référence à un ensemble de textes prédéfinis avec des espaces réservés qui peuvent être remplis de données au moment de l'exécution et générés pour générer le texte final. L'utilisation de modèles peut séparer la conception et la mise en œuvre du site Web, permettant aux développeurs de se concentrer davantage sur la mise en œuvre de la logique métier, et facilite également la modification du style et du contenu.

Présentons comment implémenter des modèles dans Golang.

Le système de modèles dans le langage Go est go template, qui est un moteur de modèles léger qui peut prédéfinir du texte, l'analyser avec des données spécifiques si nécessaire et enfin générer des fragments HTML.

L'analyse des modèles Go prend en charge à la fois la forme de chaîne et la forme de lecture de fichier, et prend également en charge l'héritage de modèles et le filtrage de pipeline. Les opérations pouvant être utilisées dans les modèles incluent les instructions de contrôle de flux, les sorties variables, les fonctions personnalisées, etc.

Jetons un coup d'œil à un exemple simple pour montrer comment utiliser le moteur de modèles dans Golang.

Exemple de code :

package main

import (
    "html/template"
    "os"
)

func main() {
    // 定义一个字符串,用到了动词 {{.Name}} 这个这个必写的语法
    const tpl = `
        <html>
            <head>
                <title>{{.Title}}</title>
            </head>
            <body>
                <h1>Hello {{.Name}}!</h1>
            </body>
        </html>
    `

    // 定义一个结构体
    type Person struct {
        Name  string
        Title string
    }

    // 定义一个变量用来存放结构体信息
    p := Person{Name: "Alan", Title: "Golang"}

    // 解析模板
    t := template.Must(template.New("html").Parse(tpl))

    // 将结构体信息传入模板,输出结果到标准输出
    if err := t.Execute(os.Stdout, p); err != nil {
        panic(err)
    }
}

Dans le code ci-dessus, nous définissons un modèle HTML, en utilisant les verbes {{.Name}} et {{.Title}} comme espaces réservés. Ensuite, un type de structure Person est défini, qui contient deux champs : Nom et Titre pour stocker les données. Person,其中包含了 NameTitle 两个字段,用来存放数据。

接下来,我们将这个结构体类型实例化为 p,并调用 template.Must() 函数来解析模板。最后,我们将实例化后的 p

Ensuite, nous instancions ce type de structure sous la forme p et appelons la fonction template.Must() pour analyser le modèle. Enfin, nous transmettons le p instancié dans le modèle et générons la sortie sur la console.

Ce qui précède est la méthode de base pour implémenter des modèles dans Golang. Cette méthode est extrêmement couramment utilisée dans le développement réel. Il peut jouer un bon rôle dans la réalisation d'un affichage diversifié des pages, d'effets d'affichage des données, etc., et améliore l'efficacité du développement de Golang. 🎜

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn