我有一個配置對象,它在啟動時根據環境變量初始化一些變量:// init the conf object on startup and fail quickly if there's an environment issue_ = utils.GetConf()這是在我的服務器的 init() 方法中,在我的代碼的其他地方,我只是調用 GetConf() 來獲取配置對象。我想通過單例模式實現這個配置對象:import ( "fmt" env "github.com/Netflix/go-env")type Conf struct { DBName string `env:"MONGO_INITDB_DATABASE,required=true"` Hostname string `env:"HOSTNAME,required=true"` DBUsername string `env:"MONGO_INITDB_ROOT_USERNAME,required=true"` DBPassword string `env:"MONGO_INITDB_ROOT_PASSWORD,required=true"`}var gConf *Conffunc GetConf() *Conf { if gConf != nil { return gConf } gConf = new(Conf) _, err := env.UnmarshalFromEnviron(gConf) if err != nil { panic(err) } return gConf}因為一開始我沒有對 utils.GetConf() 的返回值做任何事情,golang 是否有可能垃圾收集我的配置對象并且我的 gConf 指針最終會指向任何地方?
- 1 回答
- 0 關注
- 112 瀏覽
添加回答
舉報
0/150
提交
取消