package conf import ( "errors" "github.com/Unknwon/goconfig" "os" "strings" ) // 读取配置文件 var connIni *goconfig.ConfigFile var connIniTest = false func ConnIni() (conf *goconfig.ConfigFile, err error) { // 判断是否加载成功过 if connIniTest == false { conf, err = connIniGetPath() if err != nil { return conf, err } connIni = conf connIniTest = true } return connIni, nil } func connIniGetPath() (conf *goconfig.ConfigFile, err error) { // 通过全局变量设置配置文件的名字 var confName string switch strings.ToLower(os.Getenv("model")) { case "develop": confName = "conf.ini" break case "master": confName = "conf_master.ini" break case "test": confName = "conf_test.ini" break default: confName = "conf.ini" } // 判断是否加载成功过 if connIniTest == false { var conFiles = []string{"conf/", "/conf/", "/app/conf/", "../conf/", "../../conf/", "../../../conf/", "../../../../conf/", "../../../../../conf/"} for _, aConFile := range conFiles { conn, err := goconfig.LoadConfigFile(aConFile + confName) if err == nil { connIniTest = true connIni = conn return connIni, nil } } return connIni, errors.New("无法找到配置文件") } return connIni, nil }