golang 读取yml格式,多结构体级联
1.安装yml解析包
进入到gopath下执行命令
go get gopkg.in/yaml.v2
源码地址https://github.com/go-yaml/yaml
2.设置配置文件config.yml
ipport: 192.168.2.95:10000
startsendtime: 2017-01-02 08:08:08
sendmaxcountperday: 100
devices:
- devid: 123456789
nodes:- pkid: 0
bkid: 0index: 0minvalue: 0maxvalue: 60datatype: normal- pkid: 0
bkid: 0index: 0datatype: boolean
- devid: 10001
nodes:- pkid: 0
bkid: 1index: 0datatype: boolean
warnfrequency: 10
sendfrequency: 10
3.编写测试类
package mainimport ("fmt""gopkg.in/yaml.v2""io/ioutil"
)//配置文件中字母要小写,结构体属性首字母要大写type Myconf struct {Ipport stringStartSendTime stringSendMaxCountPerDay intDevices []DeviceWarnFrequency intSendFrequency int
}
type Device struct {DevId stringNodes []Node
}
type Node struct {PkId stringBkId stringIndex stringMinValue float32MaxValue float32DataType 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
golang 读取yml格式,多结构体级联相关推荐
- Golang Json文件解析为结构体工具-json2go
代码地址如下: http://www.demodashi.com/demo/14946.html 概述 json2go是一个基于Golang开发的轻量json文件解析.转换命令行工具,目前支持转换输出 ...
- c拆分字符串,并按照指定格式存入结构体数组
c将字符串拆分,并按照指定格式存入结构体数组 函数功能 代码实现 结果显示 函数功能 字符串格式:username1,password1;username2,password2; 结构体格式: typ ...
- 【C 语言】文件操作 ( 读取文件中的结构体数组 | feof 函数使用注意事项 )
文章目录 一.读取文件中的结构体数组 | feof 函数使用注意事项 二.代码示例 一.读取文件中的结构体数组 | feof 函数使用注意事项 读取文件结构体时 , 可以循环读取文件中的数据 , 只使 ...
- c语言结构体数组存入文件_关于从文件中读取数据并写入结构体数组
已结贴√ 问题点数:25 回复次数:10 关于从文件中读取数据并写入结构体数组 各位大大好,本人新手一枚,最近写简单的通讯录的c程序,其他功能完好,最后一个将txt文件中的数据写入结构体数组的函数无法 ...
- golang 初始化并赋值_golang 结构体初始化时赋值格式介绍
golang在给结构体赋值初始值时,用:分割k,v值 x := ItemLog{ Id: GetUuid(), ItemId: u.Id, UsrId: "123", Name: ...
- Golang 基础知识(十一.struct结构体)
struct结构体 1.定义 2.匿名结构体 3.键值对初始化 4.构造函数 4.1 (值)方法和接收者 4.2 (指针)方法和接受者 4.3 结构体的"继承 4.4 序列化与反序列化 4. ...
- matlab从工作区读取一维数组和结构体
https://ww2.mathworks.cn/help/simulink/slref/_mw_1c324ca8-bd1d-4334-aa0d-ac5f79839808.html 摘自 MathWo ...
- Golang学生管理系统(函数+结构体版)
背景 使用golang结构体实现学生管理系统,根据用户输入实现学生的增删改查. package mainimport ("fmt""os" )// var sm ...
- Golang 笔记 2 函数、结构体、接口、指针
一.函数 Go中函数是一等(first-class)类型.我们可以把函数当作值来传递和使用.Go中的函数可以返回多个结果. 函数类型字面量由关键字func.由圆括号包裹声明列表.空格以及可以由圆括 ...
最新文章
- TOP (100) PERCENT
- 螃蟹不能吃的四个部位,爱吃螃蟹的一定要进来看看。
- 学计算机打字一段话,初学电脑基础知识打字
- ios tableview分组间距
- Silverlight学习笔记十七BingMap(三)之地图的地区标识
- 在.NET3.5平台上使用LinQ to SQL + NBear 创建三层WEB应用
- 【数据挖掘】数据预处理
- 第1章 Hello MFC
- jQuery导航菜单防刷新
- 关于seata分布式事务框架的几个问题
- (38)System Verilog线程并行执行(fork-join_none)
- 迪士尼前高管凯文·梅耶尔加盟字节跳动,出任COO
- mysql主动自增可以_Mysql join联表及id自增实例解析
- 指针02:指针所占内存空间
- 交互设计实用指南系列(9)— 一次点击
- 三十岁还没做到管理层的人,后来都怎么样了?
- choose标签使用
- pcntl php windows_PHP各版本安装pcntl扩展
- 枫叶蓝代码生成工具 和对服装行业的一些感悟
- Springboot中使用阿里云短信验证码服务