Leggere e scrivere file YAML in Go

Mattepuffo's logo
Leggere e scrivere file YAML in Go

Leggere e scrivere file YAML in Go

In questo articolo vediamo come leggere e scrivere file YAML in Go.

Per farlo useremo una libreria apposita, yaml.v3.

Prima di tutto installiamola:

go get gopkg.in/yaml.v3

Qui sotto un esempio di codice:

package main

import (
	"fmt"
	"log"
	"os"

	"gopkg.in/yaml.v3"
)

type Libro struct {
	Titolo    string
	Autore    string
	Prezzo    float32
	Categorie []string
}

func main() {
	l := Libro{
		Titolo:    "IT",
		Autore:    "Stephen King",
		Prezzo:    25.35,
		Categorie: []string{"horror", "fantasy"},
	}

	out, err := yaml.Marshal(l)
	if err != nil {
		log.Fatal(err)
	}

	os.WriteFile("test.yaml", []byte(out), 0777)

	f, err := os.ReadFile("test.yaml")

	if err != nil {
		log.Fatal(err)
	}

	var libro Libro
	if err := yaml.Unmarshal(f, &libro); err != nil {
		log.Fatal(err)
	}

	fmt.Printf("%+v\n", libro)

}

Prima creiamo un file.

Poi lo leggiamo e stampiamo il risultato.

Enjoy!


Condividi

Commentami!