Go: Yaml support for the Go language

  1. 安裝 yaml.v2
    go get gopkg.in/yaml.v2
  2. 代碼示例 yaml_v2.go
package main

import (
    "fmt"
    "os"

    "gopkg.in/yaml.v2"
)

var data = `
afoo: 30
bfoo: 1
cfoo: "cfoo"
dfoo:
  - "dfoo_1"
  - "dfoo_2"
eeee:
  ea: "ea"
  eb: 2
`

type Efoo struct {
    Ea  string  `yaml:"ea"`
    Eb  uint    `yaml:"eb"`
}

type Settings struct {
    Afoo    uint        `yaml:"afoo"`
    Bfoo    int         `yaml:"bfoo"`
    Cfoo    string      `yaml:"cfoo"`
    Dfoo    []string    `yaml:"dfoo"`
    Eeee    Efoo        `yaml:"eeee"`
}

func main() {
    settings := Settings{}
    err := yaml.Unmarshal([]byte(data), &settings)
    if err != nil {
        os.Exit(1)
    }
    fmt.Printf("--- Settings:\n%v\n\n", settings)

    settings.Afoo = 60
    settings.Cfoo = "CFOO"
    settings.Dfoo[0] = "DFOO_1"
    settings.Dfoo[1] = "DFOO_2"
    settings.Eeee.Ea = "EA"
    settings.Eeee.Eb = 4

    d, err := yaml.Marshal(&settings)
    if err != nil {
        os.Exit(1)
    }
    fmt.Printf("--- dump:\n%s\n\n", string(d))
}
發佈了65 篇原創文章 · 獲贊 58 · 訪問量 33萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章