• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

go 解析 toml

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

小白表示,真的是搞不懂的东西,一用就会出问题

为什么这么简单的 toml解析,都能出不来也是服了。

这样说吧,已经有了开源的解析库,只要调用一下,就可以解析了,可是就是读不出来数据,你说奇怪吗?

就是还是格式不对呗。

标准库:
github: https://github.com/BurntSushi/toml
安装:go get github.com/BurntSushi/toml

使用,我给两种方法,一种就是DecodeFile直接解,第二种,Unmarshal,是我调试用的
1.
if _, err := toml.DecodeFile(cpath, &gtestcf); err != nil {
fmt.Printf(“toml.DecodeFile error \n”, err)
return dirs, err
}
2.
func readConfig() {
var fcontent []byte
var gtestcf gtest
var fpath string = “./gtest.toml”

fcontent, err := ioutil.ReadFile(fpath)
if err != nil {
	fmt.Printf("ioutil.ReadFile error \n", err)
}
fmt.Printf("fcontent is %v\n", fcontent)

toml.Unmarshal(fcontent, &gtestcf)

fmt.Printf("toml.Unmarshal gtestis %v \n", gtestcf)

}

经过调试发现了toml 格式 和结构体命名 规律
大家感受一下:

聪明的你们肯定看出规律了吧,我不想多说,调的烦了
两点注意:
一个是 结构 ,整个文件是 一层{} 你定义的其他结构就在二层 {}
这个文件现在是 { title, dirconf{projdir }}

要读取,就给整个文件定义一个 结构体,gtest,然后才是你自定义的其他结构 如dirconf
二是名字对应关系,dirconf 是gtest结构下 变量名,而不是结构体名,也就是你自定义的结构体随意,但是变量名要和toml文件中的【xxx】相同
很坑,我是没有想到,要调了才知道,ε=(´ο`*)))唉,小白就是白痴


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Go语言基础之Cookie和Session发布时间:2022-07-10
下一篇:
go 修改字符串发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap