Golang Yaml

Golang Yaml
Encore une autre langue de balisage ou YAML pour Short est une sérialisation des données avec un accent victime sur la lisibilité humaine. Il est souvent utilisé comme langage de configuration pour les principaux outils et applications, les journaux de débogage, les en-têtes de document, etc.

Avec son augmentation au cours des dernières années, apprendre à travailler avec les fichiers YAML peut être très bénéfique. Dans cet article, nous apprendrons à travailler avec le fichier YAML en utilisant le YAML.Package V3 en Go.

Package Golang Yaml

Pour travailler avec Yaml en Go, nous utilisons le yaml.forfait V3. Il fournit des outils et des méthodes pour effectuer l'encodage et le décodage des données YAML.

Pour installer le package, exécutez la commande Go Get comme:

allez chercher gopkg.en / yaml.v3

Une fois installé, vous pouvez importer le package comme indiqué:

Importer "GOPKG.en / yaml.V3 "

Golang a lu Yaml

Commençons par discuter de la façon de lire les fichiers yaml dans Go. Supposons que nous ayons un exemple de fichier YAML comme indiqué ci-dessous:

Article1: 100
point 2: 40
Point 3: 22
point 4: 50
Article 5: 323

Nous pouvons utiliser le fichier YAML à l'aide de la méthode Unmarshal. Un exemple de code est comme indiqué ci-dessous:

package principal
importer (
"FMT"
"io / ioutil"
"enregistrer"
"Gopkg.en / yaml.V3 "
)
funcmain ()
fichier, err: = ioutil.ReadFile ("Utilisateurs.yaml ")
Si err != nil
enregistrer.Fatal (euh)

Données: = Make (Map [Interface ] Interface )
Erreur: = Yaml.Unmarshal ([] octet (fichier) et data)
Si une erreur != nil
enregistrer.Fatal (euh)

pour la clé, valeur: = Données de plage
fmt.Printf ("% s:% d \ n", clé, valeur)

Dans l'exemple de code ci-dessus, nous lisons le fichier en utilisant le ioutil.Méthode readFile (). Nous créons ensuite une carte pour stocker les données de l'interface de type, interface.

Nous démadions ensuite les données du fichier en utilisant l'utilisation de la méthode Unmarshal. Enfin, nous itérons sur les clés et les valeurs de la carte à l'aide de l'opérateur de plage.

Le code ci-dessus doit retourner:

Article1: 100
point 2: 40
Point 3: 22
point 4: 50
Article 5: 323

Supposons que vous ayez un fichier YAML imbriqué comme indiqué:

Dev1:
Nom: John Creese
Département: développeur de jeux
Dev2:
Nom: Emma Rin
Département: développeur DevOps
Dev3:
Nom: Sammuelmwese
Département: développeur Backe-End

Pour cela, nous pouvons utiliser la structure pour stocker les informations comme indiqué:

Tapez user struct
Chaîne de noms
Chaîne de département

Ensuite, nous pouvons effectuer une simple opération Unmarshal en tant que:

package principal
importer (
"FMT"
"io / ioutil"
"enregistrer"
"Gopkg.en / yaml.V3 "
)
Tapez user struct
Chaîne de noms
Chaîne de département

funcmain ()
fichier, err: = ioutil.ReadFile ("Utilisateurs.yaml ")
Si err != nil
enregistrer.Fatal (euh)

Données: = MADE (MAP [String] User)
err1: = yaml.Unmarshal (fichier et données)
Si err1 != nil
enregistrer.Fatal (ERR1)

pour la clé, valeur: = Données de plage
fmt.Println (clé, valeur)

Le code ci-dessus doit renvoyer une sortie comme suit:

Dev1 développeur de jeux John Creese
Dev2 Emma Rin DevOps Developer
Dev3 Sammuel Mwese Backe-End Developer

Golang écrivez Yaml

Pour écrire un fichier YAML, nous pouvons utiliser la méthode du maréchal. Un exemple est comme indiqué ci-dessous:

package principal
importer (
"FMT"
"io / ioutil"
"enregistrer"
"Gopkg.en / yaml.V3 "
)
funcmain ()
Fruits: = […] String "Apple", "Orange", "Mango", "Strawberry"
données, err: = yaml.Maréchal (fruits)
Si err != nil
enregistrer.Fatal (euh)

err1: = ioutil.WriteFile ("Fruits.yaml ", données, 0644)
Si err1 != nil
enregistrer.Fatal (ERR1)

fmt.Println ("Success!")

Dans l'exemple ci-dessus, nous utilisons la méthode du maréchal pour sérialiser la tranche de cordes en yaml. Nous utilisons ensuite les données sérialisées et les écrivons dans un fichier.

Si le fichier n'existe pas, le code doit le créer avec l'autorisation spécifiée et lui écrire. L'exécution du programme ci-dessus doit revenir:

$ va run main.aller

Succès!

Fermeture

Ce tutoriel a couvert les bases de la lecture et de l'écriture de fichiers YAML en Go en utilisant le YAML.forfait V3. Vérifiez les documents pour en savoir plus.