我是 Go 编程的新手,我想知道:处理 Go 程序的配置参数的首选方法是什么(在其他上下文中可能会使用属性文件或ini文件的那种东西)?
该JSON格式为我工作得很好。标准库提供了编写缩进数据结构的方法,因此可读性很强。
另请参阅此 golang-nuts 线程。
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]