Golang Yaml

Golang Yaml
Outra linguagem de marcação ou YAML para abreviação é uma serialização de dados com uma forte ênfase na legibilidade humana. É frequentemente usado como uma linguagem de configuração para grandes ferramentas e aplicativos, registros de depuração, cabeçalhos de documentos, etc.

Com seu aumento nos últimos anos, aprender a trabalhar com arquivos YAML pode ser muito benéfico. Neste artigo, aprenderemos a trabalhar com o arquivo YAML usando o YAML.pacote v3 em go.

Pacote de Golang Yaml

Para trabalhar com a YAML em Go, usamos o YAML.pacote v3. Ele fornece ferramentas e métodos para realizar a codificação e decodificação de dados da YAML.

Para instalar o pacote, execute o comando go get como:

Vá buscar gopkg.in/yaml.v3

Depois de instalado, você pode importar o pacote como mostrado:

importar "gopkg.in/yaml.v3 "

Golang leu Yaml

Vamos começar discutindo como ler os arquivos YAML em Go. Suponha que tenhamos um exemplo de arquivo YAML, como mostrado abaixo:

Item1: 100
Item2: 40
Item3: 22
Item4: 50
Item5: 323

Podemos usar o arquivo YAML usando o método UNARSHAL. Um código de exemplo é como mostrado abaixo:

Pacote principal
importação (
"FMT"
"io/ioutil"
"registro"
"Gopkg.in/yaml.v3 "
)
funcmain ()
arquivo, err: = ioutil.ReadFile ("Usuários.yaml ")
se err != nil
registro.Fatal (ERR)

Dados: = make (map [interface ] interface )
Erro: = Yaml.Unarshal ([] byte (arquivo) e dados)
Se erro != nil
registro.Fatal (ERR)

para chave, valor: = dados de intervalo
fmt.Printf (" %s: %d \ n", chave, valor)

No código de exemplo acima, lemos o arquivo usando o ioutil.Método readfile (). Em seguida, criamos um mapa para armazenar os dados da interface do tipo, interface.

Em seguida. Finalmente, iteramos sobre as chaves e valores do mapa usando o operador de intervalo.

O código acima deve retornar:

Item1: 100
Item2: 40
Item3: 22
Item4: 50
Item5: 323

Suponha que você tenha um arquivo YAML aninhado, como mostrado:

Dev1:
Nome: John Creese
Departamento: Desenvolvedor de Jogos
Dev2:
Nome: Emma Rin
Departamento: Desenvolvedor DevOps
Dev3:
Nome: Sammuelmwese
Departamento: Desenvolvedor de End Backe

Para isso, podemos usar a estrutura para armazenar as informações como mostrado:

Tipo de estrutura de usuário
String de nome
String de departamento

Em seguida, podemos realizar uma operação simples e solteira como:

Pacote principal
importação (
"FMT"
"io/ioutil"
"registro"
"Gopkg.in/yaml.v3 "
)
Tipo de estrutura de usuário
String de nome
String de departamento

funcmain ()
arquivo, err: = ioutil.ReadFile ("Usuários.yaml ")
se err != nil
registro.Fatal (ERR)

Dados: = Make (Map [String] Usuário)
err1: = yaml.UNARSHAL (FILE, & DATA)
se err1 != nil
registro.Fatal (err1)

para chave, valor: = dados de intervalo
fmt.Println (chave, valor)

O código acima deve retornar uma saída como:

Dev1 John Creese Game Developer
Dev2 Emma Rin DevOps Developer
Dev3 Sammuel Mwese Backe-End Developer

Golang Escreva Yaml

Para escrever o arquivo YAML, podemos usar o método do marechal. Um exemplo é como mostrado abaixo:

Pacote principal
importação (
"FMT"
"io/ioutil"
"registro"
"Gopkg.in/yaml.v3 "
)
funcmain ()
frutas: = […] String "Apple", "Orange", "Mango", "Strawberry"
dados, err: = yaml.Marechal (frutas)
se err != nil
registro.Fatal (ERR)

err1: = ioutil.Writefile ("frutas.yaml ", dados, 0644)
se err1 != nil
registro.Fatal (err1)

fmt.Println ("Sucesso!")

No exemplo acima, usamos o método do marechal para serializar a fatia de strings no YAML. Em seguida, usamos os dados serializados e os escrevemos em um arquivo.

Se o arquivo não existir, o código deve criá -lo com a permissão especificada e escrever para ele. Executar o programa acima deve retornar:

$ go run main.ir

Sucesso!

Fechamento

Este tutorial cobriu o básico da leitura e da escrita de arquivos YAML em Go usando o YAML.pacote v3. Verifique os documentos para saber mais.