首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在golang中解码和编码.toml文件的特定部分?

如何在golang中解码和编码.toml文件的特定部分?
EN

Stack Overflow用户
提问于 2022-05-18 09:41:57
回答 1查看 299关注 0票数 1

我对BurntSushi/toml有点陌生,我想知道下面的解决方案是什么。

假设我们有这个example.toml文件

代码语言:javascript
运行
复制
[foo]
fighter = "this-is-a-call"
gu = "fish-with-wrong-spelling"

[bar]
beer = "guinness"
snacks = "pickled-eggs"

[more_examples_below]
...

正如我正确理解的那样,toml.DecodeFile(path, struct)用于将整个example.toml读入戈朗代码。

尽管如此,我还是不明白应该如何只对[bar]部分进行解码/编码?

因此,我应该在golang映射所有config.toml中定义整个结构吗?如果是,那么是否还有另一种方法不这样做,只为一个特定的块定义一个结构?

EN

回答 1

Stack Overflow用户

发布于 2022-06-29 09:59:17

如果您需要编辑现有.toml文件的特定部分,则在此工作中,viper可能是一个有用的替代方案。关于如何实现这一目标的一些草案

代码语言:javascript
运行
复制
fh, err := os.OpenFile(path, os.O_RDWR, 0777)
if err != nil {
    return err
}

viper.SetConfigType("toml")
err = viper.ReadConfig(fh)
if err != nil {
    return err
}

viper.Set("bar", foo.String())
err = viper.WriteConfigAs(path)

if err != nil {
    return err
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72286744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档