登录
首页 >  Golang >  Go问答

如何在 Go 中处理配置 [关闭]

来源:Golang技术栈

时间:2023-03-03 14:56:44 499浏览 收藏

最近发现不少小伙伴都对Golang很感兴趣,所以今天继续给大家介绍Golang相关的知识,本文《如何在 Go 中处理配置 [关闭]》主要内容涉及到golang等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~

问题内容

关闭 。这个问题需要更加集中。它目前不接受答案。


想改进这个问题? 更新问题,使其仅通过编辑此帖子专注于一个问题。

6年前关闭。

改进这个问题

我是 Go 编程的新手,我想知道:处理 Go 程序的配置参数的首选方法是什么(在其他情况下,可能使用 属性 文件或 ini 文件的那种东西)?

正确答案

JSON格式非常适合我。标准库提供了编写缩进数据结构的方法,因此可读性很强。

另请参阅[此 golang-nuts 线程](https://groups.google.com/forum/?fromgroups=#!topic/golang- nuts/sAofmg2_lL8)。

JSON 的好处是解析和人类可读/可编辑相当简单,同时为列表和映射提供语义(这可以变得非常方便),而许多 ini 类型的配置解析器并非如此。

示例用法:

conf.json

{
    "Users": ["UserA","UserB"],
    "Groups": ["GroupA"]
}

读取配置的程序

import (
    "encoding/json"
    "os"
    "fmt"
)

type Configuration struct {
    Users    []string
    Groups   []string
}

file, _ := os.Open("conf.json")
defer file.Close()
decoder := json.NewDecoder(file)
configuration := Configuration{}
err := decoder.Decode(&configuration)
if err != nil {
  fmt.Println("error:", err)
}
fmt.Println(configuration.Users) // output: [UserA, UserB]

今天关于《如何在 Go 中处理配置 [关闭]》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>