Maison développement back-end Golang Le package Template de Golang : une solution complète pour le développement Web moderne

Le package Template de Golang : une solution complète pour le développement Web moderne

Jul 19, 2023 am 10:03 AM
解决方案 golang template 现代web 开发

Pack de modèles de Golang : une solution complète pour le développement Web moderne

Présentation :
Dans le développement Web d'aujourd'hui, la séparation front-end et back-end est devenue une méthode de développement courante. Pour les développeurs back-end, fournir une interface conviviale que les développeurs front-end peuvent appeler est l'une des tâches les plus importantes. Le package Template de Golang fournit un moyen puissant et flexible de générer des pages HTML dynamiques, permettant aux développeurs de créer facilement des applications Web modernes. Cet article présentera certaines des principales fonctionnalités du package Template de Golang, combinées à des exemples de code réels, pour démontrer son application dans le développement Web moderne.

1. Syntaxe des modèles

Le package Template de Golang utilise une syntaxe simple et intuitive pour définir des modèles. La syntaxe du modèle est entourée de doubles accolades "{{}}", qui contiennent des variables, des structures de contrôle, des fonctions, etc. Voici quelques exemples de syntaxe de modèle couramment utilisés :

  1. Contenu de la variable de sortie

    {{.}} // 输出当前上下文的整个值
    {{.Title}} // 输出上下文中Title字段的值
    Copier après la connexion
  2. Structure de contrôle

    {{if .IsLoggedIn}}
     <p>Welcome, {{.Username}}!</p>
    {{else}}
     <p>Please log in.</p>
    {{end}}
    Copier après la connexion
  3. Sortie itérative

    <ul>
     {{range .Items}}
         <li>{{.}}</li>
     {{end}}
    </ul>
    Copier après la connexion
  4. Appel de fonction

    <p>Today is {{formatTime .Date "Jan 2, 2006"}}.</p>
    Copier après la connexion

Modèle. héritage et combinaison

Dans les applications web complexes, la structure des pages peut être très similaire, seule la partie contenu sera différente. Le package Template permet l’utilisation de fonctions d’héritage et de combinaison de modèles, réduisant ainsi la duplication de code. Vous pouvez remplir du contenu en définissant un modèle de base et en utilisant {{block}} dans chaque sous-modèle. Voici l'exemple de code :

  1. base.html

    <html>
    <head>
     <title>{{block "title" .}}My Website{{end}}</title>
    </head>
    <body>
     {{block "content" .}}{{end}}
    </body>
    </html>
    Copier après la connexion
  2. homepage.html

    {{extends "base.html"}}
    
    {{block "title" .}}Home{{end}}
    
    {{block "content" .}}
     <h1>Welcome to my website!</h1>
     <p>...</p>
    {{end}}
    Copier après la connexion

De cette façon, nous pouvons hériter d'un modèle de base et n'avons besoin que de nous concentrer sur la définition du contenu, améliorant ainsi efficacité du développement.

3. Fonction de modèle

Le package Template de Golang fournit également des fonctions de modèle intégrées qui peuvent être appelées directement dans le modèle. Ces fonctions peuvent être utilisées pour le traitement des chaînes, le formatage de la date, les calculs mathématiques, etc. Voici quelques exemples de fonctions intégrées :

  1. Traitement des chaînes

    {{upper .Title}} // 将字符串转为大写
    {{lower .Title}} // 将字符串转为小写
    {{trim .Content}} // 去除字符串两端的空格
    Copier après la connexion
  2. Formatage de la date

    {{formatTime .Date "Jan 2, 2006"}} // 格式化日期为"Month Day, Year"
    {{formatTime .Date "2006-01-02"}} // 格式化日期为"Year-Month-Day"
    Copier après la connexion
  3. Calculs mathématiques

    {{$sum := add .X .Y}} // 将X和Y相加并赋值给sum变量
    {{$avg := div .Total .Count}} // 计算Total和Count的平均值并赋值给avg变量
    Copier après la connexion

4. Fournir des données au modèle

Après avoir transmis les données au modèle. template, Avant le rendu, nous devons charger les données dans le contexte. Le package Template de Golang fournit un objet Context qui peut être utilisé pour stocker et manipuler des données. Voici un exemple simple :

type Page struct {
    Title   string
    Content string
}

page := Page{
    Title:   "About Us",
    Content: "This is the about page.",
}

err := template.Execute(w, page)
if err != nil {
    // 处理错误
}
Copier après la connexion

En chargeant les données dans le contexte, nous pouvons utiliser {{.Title}} et {{.Content}} dans le modèle pour accéder aux valeurs correspondantes.

Conclusion : 
Le package Template de Golang fournit une solution complète pour le développement Web moderne. Sa syntaxe simple et intuitive, ses puissantes fonctions d'héritage et de composition de modèles et ses riches fonctions intégrées permettent aux développeurs de créer facilement des pages HTML dynamiques. En utilisant rationnellement la syntaxe des modèles et les appels de fonctions, nous pouvons réduire la duplication de code et améliorer l'efficacité du développement. Que vous créiez de simples pages statiques ou des applications Web complexes, le package Template de Golang est un outil qui vaut la peine d'être essayé.

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Solution pour Win11 impossible d'installer le pack de langue chinoise Solution pour Win11 impossible d'installer le pack de langue chinoise Mar 09, 2024 am 09:15 AM

Win11 est le dernier système d'exploitation lancé par Microsoft. Par rapport aux versions précédentes, Win11 a considérablement amélioré la conception de l'interface et l'expérience utilisateur. Cependant, certains utilisateurs ont signalé avoir rencontré le problème de l'impossibilité d'installer le module linguistique chinois après l'installation de Win11, ce qui leur a posé des problèmes lors de l'utilisation du chinois dans le système. Cet article fournira quelques solutions au problème selon lequel Win11 ne peut pas installer le pack de langue chinoise pour aider les utilisateurs à utiliser le chinois en douceur. Tout d’abord, nous devons comprendre pourquoi le pack de langue chinoise ne peut pas être installé. D'une manière générale, Win11

Raisons et solutions de l'échec de l'installation de la bibliothèque Scipy Raisons et solutions de l'échec de l'installation de la bibliothèque Scipy Feb 22, 2024 pm 06:27 PM

Raisons et solutions de l'échec de l'installation de la bibliothèque scipy, des exemples de code spécifiques sont nécessaires Lors de l'exécution de calculs scientifiques en Python, scipy est une bibliothèque très couramment utilisée, qui fournit de nombreuses fonctions pour les calculs numériques, l'optimisation, les statistiques et le traitement du signal. Cependant, lors de l'installation de la bibliothèque scipy, vous rencontrez parfois des problèmes, entraînant l'échec de l'installation. Cet article explorera les principales raisons pour lesquelles l'installation de la bibliothèque Scipy échoue et fournira les solutions correspondantes. L'installation des packages dépendants a échoué. La bibliothèque scipy dépend de certaines autres bibliothèques Python, telles que nu.

Problèmes courants et solutions liés à la fonction Oracle NVL Problèmes courants et solutions liés à la fonction Oracle NVL Mar 10, 2024 am 08:42 AM

Problèmes courants et solutions pour la fonction OracleNVL La base de données Oracle est un système de base de données relationnelle largement utilisé et il est souvent nécessaire de gérer des valeurs nulles lors du traitement des données. Afin de résoudre les problèmes causés par les valeurs nulles, Oracle fournit la fonction NVL pour gérer les valeurs nulles. Cet article présentera les problèmes courants et les solutions des fonctions NVL, et fournira des exemples de code spécifiques. Question 1 : Utilisation inappropriée de la fonction NVL La syntaxe de base de la fonction NVL est : NVL(expr1,default_value).

Une solution efficace pour résoudre le problème des caractères tronqués provoqués par la modification du jeu de caractères Oracle. Une solution efficace pour résoudre le problème des caractères tronqués provoqués par la modification du jeu de caractères Oracle. Mar 03, 2024 am 09:57 AM

Titre : Une solution efficace pour résoudre le problème des caractères tronqués provoqués par la modification du jeu de caractères Oracle. Dans la base de données Oracle, lorsque le jeu de caractères est modifié, le problème des caractères tronqués se produit souvent en raison de la présence de caractères incompatibles dans les données. Afin de résoudre ce problème, nous devons adopter des solutions efficaces. Cet article présentera des solutions spécifiques et des exemples de code pour résoudre le problème des caractères tronqués provoqués par la modification du jeu de caractères Oracle. 1. Exportez les données et réinitialisez le jeu de caractères. Tout d’abord, nous pouvons exporter les données de la base de données à l’aide de la commande expdp.

Implémentation d'algorithmes d'apprentissage automatique en C++ : défis et solutions courants Implémentation d'algorithmes d'apprentissage automatique en C++ : défis et solutions courants Jun 03, 2024 pm 01:25 PM

Les défis courants rencontrés par les algorithmes d'apprentissage automatique en C++ incluent la gestion de la mémoire, le multithread, l'optimisation des performances et la maintenabilité. Les solutions incluent l'utilisation de pointeurs intelligents, de bibliothèques de threads modernes, d'instructions SIMD et de bibliothèques tierces, ainsi que le respect des directives de style de codage et l'utilisation d'outils d'automatisation. Des cas pratiques montrent comment utiliser la bibliothèque Eigen pour implémenter des algorithmes de régression linéaire, gérer efficacement la mémoire et utiliser des opérations matricielles hautes performances.

Révéler la méthode pour résoudre l'échec de la clé PyCharm Révéler la méthode pour résoudre l'échec de la clé PyCharm Feb 23, 2024 pm 10:51 PM

PyCharm est un puissant environnement de développement intégré Python très apprécié des développeurs. Cependant, nous pouvons parfois rencontrer des problèmes d'invalidation de clé lors de l'utilisation de PyCharm, entraînant l'impossibilité d'utiliser le logiciel normalement. Cet article révélera la solution à l'échec de la clé PyCharm et fournira des exemples de code spécifiques pour aider les lecteurs à résoudre rapidement ce problème. Avant de commencer à résoudre le problème, nous devons d’abord comprendre pourquoi la clé n’est pas valide. L'échec de la clé PyCharm est généralement dû à des problèmes de réseau ou au logiciel lui-même

Résoudre Impossible de démarrer l'application correctement, code d'erreur 0xc000007b Résoudre Impossible de démarrer l'application correctement, code d'erreur 0xc000007b Feb 20, 2024 pm 01:24 PM

Comment résoudre le problème de l'impossibilité de démarrer normalement 0xc000007b Lors de l'utilisation de l'ordinateur, nous rencontrons parfois divers codes d'erreur, l'un des plus courants est 0xc000007b. Lorsque nous essayons d'exécuter certaines applications ou jeux, ce code d'erreur apparaît soudainement et nous empêche de le démarrer correctement. Alors, comment devrions-nous résoudre ce problème ? Tout d’abord, nous devons comprendre la signification du code d’erreur 0xc000007b. Ce code d'erreur indique généralement qu'un ou plusieurs fichiers système ou fichiers de bibliothèque critiques sont manquants, corrompus ou incorrects.

Causes courantes et solutions aux caractères chinois tronqués dans l'installation de MySQL Causes courantes et solutions aux caractères chinois tronqués dans l'installation de MySQL Mar 02, 2024 am 09:00 AM

Raisons et solutions courantes pour les caractères chinois tronqués dans l'installation de MySQL MySQL est un système de gestion de base de données relationnelle couramment utilisé, mais vous pouvez rencontrer le problème des caractères chinois tronqués lors de l'utilisation, ce qui pose des problèmes aux développeurs et aux administrateurs système. Le problème des caractères chinois tronqués est principalement dû à des paramètres de jeu de caractères incorrects, à des jeux de caractères incohérents entre le serveur de base de données et le client, etc. Cet article présentera en détail les causes courantes et les solutions des caractères chinois tronqués dans l'installation de MySQL pour aider tout le monde à mieux résoudre ce problème. 1. Raisons courantes : paramètre du jeu de caractères

See all articles