
先看使用代码
package main import ( "github.com/choueric/jconfig" ) const DefCOntent= `{ "server": "127.0.0.1:8088" } ` type Config struct { Server string `json:"server"` } func getConfig(file string) (*Config, error) { jc := jconfig.New(file, Config{}) if _, err := jc.Load(DefContent); err != nil { return nil, err } return jc.Data().(*Config), nil } 内部只是调用 json 包,简单的封装了一下。然后用反射来生成配置变量,这样可以让用户定义自己的配置类型。