[GO-Sprache] Lesen wir die YAML-Datei

Was ist YAML?

Umgebung

Vorbereitung

# go get gopkg.in/yaml.v2
# vi test.yml

test.yml


first: test
secound:
  a1: count1
  a2:
  - count2
  - count3
  a3:
    b1: count4

Lesen Sie die YAML-Datei

# vi main.go

main.go


package main

import(
  "fmt"
  "io/ioutil"
  "strconv"
  "gopkg.in/yaml.v2"
)

func main() {
  // test.Lesen Sie yml
  buf, err := ioutil.ReadFile("test.yml")
  if err != nil {
    fmt.Print("error: Failed to read the file\n")
    return
  }

  //Ordnen Sie die gelesene Datei zu[interface {}]interface {}Karte zu
  t := make(map[interface {}]interface {})
  err = yaml.Unmarshal(buf, &t)
  if err != nil {
    panic(err)
  }

  fmt.Print(t["first"])  // test
  fmt.Print("\n")

  // t["secound"]Zu(map[interface {}]interface {})Typkonvertierung mit
  fmt.Print(t["secound"].(map[interface {}]interface {})["a1"])  //count1
  fmt.Print("\n")

  // len()Gibt die Anzahl der Elemente im Array zurück
  fmt.Print(len(t["secound"].(map[interface {}]interface {})))
  fmt.Print("\n")

  // []interface {}Array von Typen
  fmt.Print(t["secound"].(map[interface {}]interface {})["a2"].([]interface {})[0])  // count2
  fmt.Print("\n")

  fmt.Print(t["secound"].(map[interface {}]interface {})["a3"].(map[interface {}]interface {})["b1"]) // count4
  fmt.Print("\n")

  //Wenn es regelmäßig benannt wird, können Sie überprüfen, wie viele es gibt
  flag, i := 0, 0
  for flag == 0 {
    i++
    switch t["secound"].(map[interface {}]interface {})["a"+strconv.Itoa(i)].(type) {
      case nil:
        flag = 1
    }
  }
  fmt.Printf("a%d is not found\n", i)  // a4 is not found
}
# go run main.go
test
count1
3
count2
count4
a4 is not found

Verweise

Recommended Posts

[GO-Sprache] Lesen wir die YAML-Datei
Dateien lesen und schreiben
Dateien schreiben und lesen
Datei lesen
[Hinweis] Lesen Sie eine Datei aus einem anderen Verzeichnis
Lesen wir die RINEX-Datei mit Python ①
Lassen Sie uns mit PLY 1 eine einfache Sprache erstellen
VM mit YAML-Datei (KVM) erstellen
Zeichendatendatei mit numpy lesen
Lesen einer CSV-Datei mit Python 2/3
Erstellen Sie eine Datei, die in der Skriptsprache ausgeführt werden kann
Lesen Sie mit Python Zeile für Zeile aus der Datei
So lesen Sie Dateien in verschiedenen Verzeichnissen
Erstellen Sie einen Webserver in der Sprache Go (net / http) (1)
Lesen Sie die CSV-Datei: pandas
Overhead-Messung zum Lesen von Dateien
Funktionen der Go-Sprache
Lesen Sie die Python-CSV-Datei
[Go language] Versuchen Sie, einen nutzlos zählbaren Zähler mit mehreren Threads zu erstellen
Python> Aus einer mehrzeiligen Zeichenfolge anstelle einer Datei lesen> io.StringIO ()