当前位置:  开发笔记 > 编程语言 > 正文

(转到)如何使用toml文件?

如何解决《(转到)如何使用toml文件?》经验,为你挑选了1个好方法。

作为标题,我想知道如何使用golang的toml文件.

在此之前,我展示了我的toml示例.这样对吗?

[datatitle]
enable = true
userids = [
    "12345", "67890"
]
    [datatitle.12345]
    prop1 = 30
    prop2 = 10

    [datatitle.67890]
    prop1 = 30
    prop2 = 10

然后,我想将这些数据设置为struct的类型.

因此,我想访问子元素,如下所示.

datatitle["12345"].prop1
datatitle["67890"].prop2

提前致谢!



1> Moshe Revah..:

首先得到BurntSushi的toml解析器:

go get github.com/BurntSushi/toml

BurntSushi解析toml并将其映射到结构,这就是你想要的.

然后执行以下示例并从中学习:

package main

import (
    "github.com/BurntSushi/toml"
    "log"
)

var tomlData = `title = "config"
[feature1]
enable = true
userids = [
  "12345", "67890"
]

[feature2]
enable = false`

type feature1 struct {
    Enable  bool
    Userids []string
}

type feature2 struct {
    Enable bool
}

type tomlConfig struct {
    Title string
    F1    feature1 `toml:"feature1"`
    F2    feature2 `toml:"feature2"`
}

func main() {
    var conf tomlConfig
    if _, err := toml.Decode(tomlData, &conf); err != nil {
        log.Fatal(err)
    }
    log.Printf("title: %s", conf.Title)
    log.Printf("Feature 1: %#v", conf.F1)
    log.Printf("Feature 2: %#v", conf.F2)
}

注意它tomlData以及它如何映射到tomlConfig结构.

请访问https://github.com/BurntSushi/toml查看更多示例

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有