mirror of
https://github.com/keven1024/015.git
synced 2026-05-26 07:08:02 +00:00
43 lines
684 B
Go
43 lines
684 B
Go
package utils
|
|
|
|
import (
|
|
"github.com/spf13/viper"
|
|
)
|
|
|
|
var v *viper.Viper
|
|
|
|
func init() {
|
|
InitEnv()
|
|
}
|
|
|
|
func InitEnv() {
|
|
if v != nil {
|
|
return
|
|
}
|
|
v = viper.New()
|
|
v.SetConfigName(".env")
|
|
v.SetConfigType("env")
|
|
v.AddConfigPath(".")
|
|
v.AddConfigPath("../")
|
|
v.AutomaticEnv()
|
|
if err := v.ReadInConfig(); err != nil {
|
|
if _, ok := err.(viper.ConfigFileNotFoundError); !ok {
|
|
// 只有当错误不是"配置文件未找到"时才 panic
|
|
panic(err)
|
|
}
|
|
}
|
|
}
|
|
|
|
func GetEnv(key string) string {
|
|
InitEnv()
|
|
return v.GetString(key)
|
|
}
|
|
|
|
func GetEnvWithDefault(key string, defaultValue string) string {
|
|
value := v.GetString(key)
|
|
if value == "" {
|
|
return defaultValue
|
|
}
|
|
return value
|
|
}
|