golang 读取yml格式,多结构体级联
来源:互联网 发布:linux gcc编译器 编辑:程序博客网 时间:2024/06/05 12:02
1.安装yml解析包
进入到gopath下执行命令
go get gopkg.in/yaml.v2
源码地址https://github.com/go-yaml/yaml
2.设置配置文件config.yml
ipport: 192.168.2.95:10000startsendtime: 2017-01-02 08:08:08sendmaxcountperday: 100devices:- devid: 123456789 nodes: - pkid: 0 bkid: 0 index: 0 minvalue: 0 maxvalue: 60 datatype: normal - pkid: 0 bkid: 0 index: 0 datatype: boolean- devid: 10001 nodes: - pkid: 0 bkid: 1 index: 0 datatype: booleanwarnfrequency: 10sendfrequency: 10
3.编写测试类
package mainimport ( "fmt" "gopkg.in/yaml.v2" "io/ioutil")//配置文件中字母要小写,结构体属性首字母要大写type Myconf struct { Ipport string StartSendTime string SendMaxCountPerDay int Devices []Device WarnFrequency int SendFrequency int}type Device struct { DevId string Nodes []Node}type Node struct { PkId string BkId string Index string MinValue float32 MaxValue float32 DataType string}func main() { data, _ := ioutil.ReadFile("config.yml") fmt.Println(string(data)) t := Myconf{} //把yaml形式的字符串解析成struct类型 yaml.Unmarshal(data, &t) fmt.Println("初始数据", t) if(t.Ipport==""){ fmt.Println("配置文件设置错误") return; } d, _ := yaml.Marshal(&t) fmt.Println("看看 :", string(d))}
4.注意
1.配置文件中字母要小写,结构体属性首字母要大写,开发比较快
也可以指定如:yaml:"c"
,只不过有点麻烦,当然如果重命名必须要指定
2.yaml:",flow"
这个意思是将数组用[“a”,”b”]这样的格式展示,默认展示形式是
- a- b
阅读全文
0 0
- golang 读取yml格式,多结构体级联
- golang中结构体转成xml格式
- 如何使用opencv的c++接口来读取、写结构体数组到yml文件中
- opencv读取yml文件
- @Value 读取yml 文件
- golang初始化结构体
- Golang结构体分析
- springboot注解读取yml文件
- 读取后缀(yml)配置文件
- 原 golang 结构体
- Golang json转结构体
- Golang结构体和指针
- Rust golang之结构体
- Golang从入门到精通(十四):Golang结构体
- yml
- yml
- OpenCV学习——yml的读取
- OpenCV读取XML/YML文件的方法
- 一台阿里云2台腾讯云服务器搭建Hadoop集群
- 自己写了个连接socket服务的功能,连接成功后向服务发送数据并接收数据
- Tornado高性能的秘密:ioloop对象分析 (副标题:IOLoop是个事件循环)
- 用数组实现队列
- 1029. 旧键盘(20)(sacnf()录入数组、剔除数组冗余项
- golang 读取yml格式,多结构体级联
- Error:Execution failed for task ':app:mergeDebugResources'.
- Linux的SOCKET编程详解
- 关于日历实现代码里0x04bd8, 0x04ae0, 0x0a570的解释
- 北京python如何学的更好?
- Android_Log输出的优先级: Verbose,Debug,Info,Warn,Error
- Android 禁止ViewPager滑动,你所不知道的细节
- JS分享功能
- 使用Qrcode第三方组件生成二维码