Golang Yaml

Golang Yaml
Kolejny język znaczników lub YAML w skrócie jest serializacja danych z dużym naciskiem na czytelność człowieka. Jest często używany jako język konfiguracyjny dla głównych narzędzi i aplikacji, dzienników debugowania, nagłówków dokumentów itp.

Wraz z jego wzrostem w ostatnich latach nauka pracy z plikami YAML może być bardzo korzystna. W tym artykule dowiemy się, jak pracować z plikiem YAML za pomocą YAML.pakiet v3 w Go.

Pakiet Golang Yaml

Do pracy z YAML w Go używamy YAML.pakiet V3. Zapewnia narzędzia i metody wykonywania kodowania i dekodowania danych YAML.

Aby zainstalować pakiet, uruchom polecenie GO GET AS:

Idź Zdobądź gopkg.In/Yaml.v3

Po zainstalowaniu możesz zaimportować pakiet, jak pokazano:

Importuj „GOPKG.In/Yaml.v3 "

Golang czytał Yaml

Zacznijmy od omówienia, jak przeczytać pliki YAML w Go. Załóżmy, że mamy przykładowy plik YAML, jak pokazano poniżej:

Pozycja 1: 100
Pozycja 2: 40
Pozycja 3: 22
Pozycja 4: 50
Pozycja 5: 323

Możemy użyć pliku YAML za pomocą metody Unmarshal. Przykładowy kod jest pokazany poniżej:

Pakiet Main
import (
„FMT”
„IO/ioutil”
"dziennik"
„Gopkg.In/Yaml.v3 "
)
funcMain ()
Plik, err: = ioutil.Odczyt („Użytkownicy.YAML ”)
Jeśli err != zero
dziennik.Fatalny (err)

dane: = make (map [interfejs ] interfejs )
Błąd: = YAML.Unmarshal ([] bajt (plik) i dane)
Jeśli błąd != zero
dziennik.Fatalny (err)

dla klucza, wartość: = Dane zakresu
fmt.Printf („ %s: %d \ n”, klucz, wartość)

W powyższym przykładowym kodzie czytamy plik za pomocą ioutil.Metoda ReadFile (). Następnie tworzymy mapę do przechowywania danych interfejsu typu, interfejsu.

Następnie niezmarwajmy dane z pliku za pomocą metody UnmarShal. Wreszcie iterujemy klawisze i wartości mapy za pomocą operatora zasięgu.

Kod powyżej powinien zwrócić:

Pozycja 1: 100
Pozycja 2: 40
Pozycja 3: 22
Pozycja 4: 50
Pozycja 5: 323

Załóżmy, że masz zagnieżdżony plik YAML, jak pokazano:

Dev1:
Imię: John Creese
dział: twórca gier
Dev2:
Nazwa: Emma Rin
Departament: deweloper DevOps
Dev3:
Nazwa: Sammuelmwese
Departament: deweloper Backe-End

W tym celu możemy użyć struktury do przechowywania informacji, jak pokazano:

Wpisz Struktura użytkownika
Nazwa ciąg
String działu

Następnie możemy wykonać prostą operację niezniszczoną jako:

Pakiet Main
import (
„FMT”
„IO/ioutil”
"dziennik"
„Gopkg.In/Yaml.v3 "
)
Wpisz Struktura użytkownika
Nazwa ciąg
String działu

funcMain ()
Plik, err: = ioutil.Odczyt („Użytkownicy.YAML ”)
Jeśli err != zero
dziennik.Fatalny (err)

Data: = Make (Map [String] Użytkownik)
err1: = yaml.Unmarshal (plik i dane)
Jeśli err1 != zero
dziennik.Fatalny (err1)

dla klucza, wartość: = Dane zakresu
fmt.Println (klucz, wartość)

Kod powyżej powinien zwrócić wyjście jako:

Dev1 John Creese Game Developer
Dev2 Emma Rin Devops Developer
Dev3 Sammue Mwese Backe-end Developer

Golang pisz Yaml

Aby napisać plik YAML, możemy użyć metody marszałka. Przykładem jest to, jak pokazano poniżej:

Pakiet Main
import (
„FMT”
„IO/ioutil”
"dziennik"
„Gopkg.In/Yaml.v3 "
)
funcMain ()
owoce: = […] String „Apple”, „Orange”, „Mango”, „Strawberry”
dane, err: = yaml.Marszałek (owoce)
Jeśli err != zero
dziennik.Fatalny (err)

err1: = ioutil.Pisanie („owoce.Yaml ", dane, 0644)
Jeśli err1 != zero
dziennik.Fatalny (err1)

fmt.Println („Sukces!")

W powyższym przykładzie używamy metody marszałka do serializacji plastra strun w ignamie. Następnie używamy serializowanych danych i zapisujemy je w pliku.

Jeśli plik nie istnieje, kod powinien go utworzyć za pomocą określonej zgody i zapisać do niego. Uruchomienie powyższego programu powinno powrócić:

$ Go Run Main.Iść

Powodzenie!

Zamknięcie

Ten samouczek obejmował podstawy czytania i pisania plików YAML w Go za pomocą YAML.pakiet V3. Sprawdź dokumenty, aby dowiedzieć się więcej.