golang解析yaml遇到的坑

土豆哪里去挖_331f · · 4366 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

  • golang 文件
package main

import (
    "fmt"
    "io/ioutil"
    "log"

    yaml "gopkg.in/yaml.v2"
)

//Yaml the yaml file Cluster struct
type Yaml struct {
    Testclu struct {  //Testclu对应yaml文件里的testclu,yaml文件里的字母要小写,对大小写敏感
        Hostips     []string `yaml:"hostips,flow"` //Hostips是个数组,后面yaml:"要跟yaml文件里的hostips",否则找不到字段
        Port        string   `yaml:"port"`
        DBuser      string   `yaml:"dbuser"`
        Passwd      string   `yaml:"passwd"`
        ServiceName string   `yaml:"service_name"`
    }
}

func main() {
    cluster := new(Yaml)
    yamlFile, err := ioutil.ReadFile("cluster.yaml")
    if err != nil {
        log.Println(err)
    }

    err = yaml.Unmarshal(yamlFile, &cluster)

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

    log.Println("conf", cluster)
    fmt.Println(cluster.Testclu.Hostips)

}
  • Yaml文件
testclu:
  hostips: 
    - 192.168.3.1
    - 192.168.3.2
    - 192.168.3.3
  port: 1521
  dbuser: system
  passwd: 123456
  service_name: testdb

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:土豆哪里去挖_331f

查看原文:golang解析yaml遇到的坑

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4366 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传