package tool import ( "bufio" "encoding/json" "fmt" "os" ) type Config struct { AppName string `json:"app_name"` AppMode string `json:"app_mode"` AppHost string `json:"app_host"` AppPort string `json:"app_port"` } var _cfg Config func ParseConfig(path string) (*Config, error) { // 解析配置文件 file, err := os.Open(path) if err != nil { panic(err.Error()) } defer file.Close() reader := bufio.NewReader(file) decoder := json.NewDecoder(reader) err = decoder.Decode(&_cfg) // 注意:要将和json对应的结构体指针传进来,而不是结构体对象 if err != nil { fmt.Println(err.Error()) return nil, err } return &_cfg, nil }