Go est un langage de programmation à développement rapide avec une syntaxe simple et de puissantes fonctionnalités de concurrence, ce qui le rend idéal pour le développement Web. Dans le développement Web, les modèles font partie intégrante car ils permettent la génération dynamique de pages HTML et fournissent aux utilisateurs des interfaces Web interactives. Go fournit un package appelé modèles pour générer dynamiquement des pages HTML. Cet article présentera l'utilisation des modèles Golang.
Un modèle dans les modèles Golang est un tableau de chaînes ou d'octets qui contient des marqueurs ou des espaces réservés qui seront remplacés par des valeurs réelles lors du rendu. De plus, les modèles peuvent contenir des structures de contrôle et des appels de fonction.
Les modèles Golang utilisent un moteur de modèles basé sur l'analyse, qui peut analyser les modèles et générer des pages HTML en fonction des résultats de l'analyse. L'analyseur divise le modèle en fragments et les représente sous la forme d'une arborescence de nœuds. Chaque nœud représente une partie du modèle, telle que du texte, des structures de contrôle, des variables, des balises appariées, etc. La relation entre les nœuds est une relation arborescente allant du nœud parent au nœud enfant.
Les balises et les espaces réservés dans les modèles sont inclus en utilisant {{}}. Par exemple : "{{ . }}" signifie utiliser la variable de contexte actuelle. Un modèle peut définir plusieurs variables et y accéder via un objet contextuel spécial. Les objets contextuels sont stockés dans les modèles Golang associés.
Les structures de contrôle suivantes sont prises en charge dans les modèles Golang :
Voici un exemple montrant comment utiliser les structures de contrôle {{if}} et {{range}} :
{{if .HasValidUsers }} <h1>Welcome Valid User</h1> {{end}} {{range .Users}} <li>{{ .Name }}</li> {{end}}
Dans cet exemple, nous utilisons {{if}} pour Vérifiez s'il existe un utilisateur valide et parcourez la liste des utilisateurs en utilisant {{range}}.
Dans les modèles Golang, d'autres fonctions peuvent également être appelées, telles que les fonctions de formatage de chaîne et les opérateurs arithmétiques et logiques. Par exemple, l'exemple suivant montre comment utiliser un modèle pour appeler la fonction printf.
{{ printf "%s is %d years old" .Name .Age }}
Dans cet exemple, nous avons appelé la fonction printf, en passant la chaîne de texte et les valeurs des objets .Name et .Age à la fonction printf.
Les modèles Golang prennent en charge les types et les méthodes via le package Reflect. Le package Reflect est une bibliothèque standard du langage Go pour la réflexion à l'exécution et les informations de type. Nous pouvons utiliser le package Reflect dans le modèle pour interroger le type et la méthode de la valeur et effectuer des opérations basées sur les résultats de la requête. Voici un exemple de modèle qui génère le type d'un objet sous forme de commentaire HTML :
<!-- {{ printf "# Type: %s" . | typeOf | name }} -->
Dans cet exemple, nous utilisons des types et des méthodes pour interroger le type d'un objet et afficher son nom.
Les modèles Golang utilisent des caractères d'espacement (y compris les espaces, les tabulations et les nouvelles lignes) pour créer des pages HTML générées. Cependant, dans la page HTML générée, les caractères d'espacement peuvent affecter la mise en page et l'affichage. Afin de contrôler l'affichage des caractères d'espacement, nous pouvons utiliser la fonction trim pour supprimer les caractères d'espacement. Par exemple, dans l'exemple suivant, nous utilisons la fonction trim pour supprimer les espaces autour du titre :
{{- $title := " Hello World " -}} <h1>{{- trim $title -}}</h1>
Dans cet exemple, nous utilisons la notation {{-}} pour supprimer les espaces entre les variables et les fonctions et utilisons la fonction trim pour supprimer les espaces autour du titre des espaces.
Cet article présente l'utilisation des modèles Golang. Les modèles Golang sont un outil léger mais puissant qui prend en charge les structures de contrôle, les requêtes de type et de méthode, ainsi que d'autres fonctionnalités riches. Nous pouvons l'utiliser pour générer dynamiquement des pages HTML et fournir une interface complète et flexible pour les applications Web. J'espère que cet article sera utile aux débutants !
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!