0Pricing
Go Academy · Leçon

Que sont les tags de struct

Associer des métadonnées aux champs

Que sont les tags de struct est une leçon Go Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Go Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Go Academy comprend 4 leçons au total.

Que sont les balises de structure

Une balise de structure est une chaîne de métadonnées attachée à un champ de structure. Elle ne modifie pas la valeur du champ, mais contient des instructions destinées aux bibliothèques qui la lisent.

Syntaxe des balises

Les balises apparaissent après le type du champ, entre guillemets de chaîne brute. Chaque balise est une paire key:"value". Plusieurs paires sont séparées par des espaces.

Une balise courante ressemble à json:"name".

Une structure balisée

Ici, un champ porte une balise json qui indique aux encodeurs d'utiliser le nom de clé en minuscules.

package main

import "fmt"

type User struct {
	Name string "json:\"name\""
}

func main() {
	u := User{Name: "Ann"}
	fmt.Println(u.Name)
}

Les balises ne sont que des métadonnées

Les balises ne changent pas la manière dont votre code utilise le champ. u.Name fonctionne toujours normalement. Les balises n'ont d'importance que pour les bibliothèques qui les inspectent par réflexion.

Plusieurs balises sur un même champ

Un seul champ peut contenir plusieurs clés de balise, chacune étant utilisée par une bibliothèque différente.

package main

import "fmt"

type Product struct {
	Name string "json:\"name\" db:\"product_name\""
}

func main() {
	p := Product{Name: "Pen"}
	fmt.Println(p.Name)
}

Clés de balise courantes

Parmi les clés de balise fréquemment utilisées figurent :

  • json - encodage JSON
  • xml - encodage XML
  • db - association avec une colonne de base de données
  • validate - règles de validation

Lire les balises par réflexion

Le paquet reflect permet de lire les balises à l'exécution. field.Tag.Get("json") renvoie la valeur associée à la clé json.

package main

import (
	"fmt"
	"reflect"
)

type User struct {
	Name string "json:\"name\""
}

func main() {
	t := reflect.TypeOf(User{})
	f := t.Field(0)
	fmt.Println(f.Tag.Get("json"))
}

La méthode Tag.Get

Tag.Get(key) renvoie la valeur associée à une clé, ou une chaîne vide si la clé est absente. Tag.Lookup(key) indique également si la clé existait.

package main

import (
	"fmt"
	"reflect"
)

type User struct {
	Name string "json:\"name\""
}

func main() {
	f := reflect.TypeOf(User{}).Field(0)
	val, ok := f.Tag.Lookup("json")
	fmt.Println(val, ok)
}

Convention de format des balises

Le format standard d'une balise est key:"value", sans espace autour des deux-points. Les bibliothèques attendent cette convention. Les balises mal formées peuvent être ignorées silencieusement.

Pourquoi utiliser des balises

Les balises vous permettent de conserver les règles d'association à côté des champs qu'elles décrivent, plutôt que dans une configuration séparée. Une même structure peut servir pour une sortie JSON, des lignes de base de données et la validation, le tout piloté par des balises.

Balises sur les champs non exportés

Les balises des champs non exportés (en minuscules) sont visibles par réflexion, mais la plupart des encodeurs ignorent entièrement les champs non exportés. Exportez (mettez une majuscule à) les champs que vous souhaitez sérialiser.

Vérification rapide

Quel est le rôle d'une balise de structure ?

Récapitulatif

Balises de structure :

  • Métadonnées attachées aux champs sous la forme key:"value"
  • Elles ne modifient pas le code normal ; elles sont lues par réflexion
  • Elles sont utilisées par json, xml, db, validate et bien d'autres

Questions Fréquemment Posées

La leçon « Que sont les tags de struct » est-elle gratuite ?

Oui — le texte complet de « Que sont les tags de struct » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Go Academy, passe à CoddyKit PRO. Le cours Go Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Que sont les tags de struct » ?

Associer des métadonnées aux champs Tu pratiques Go Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Go Academy ?

Aucune expérience préalable n'est requise. Go Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Que sont les tags de struct » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Go Academy ?

Oui. Chaque leçon Go Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Que sont les tags de struct
  2. Tags JSON
  3. Bibliothèques de validation
  4. Analyse personnalisée des tags
← Retour à Go Academy