1 Star 2 Fork 0

falling-ts/gower

Create your Gitee Account
Explore and code with more than 13.5 million developers,Free private repositories !:)
Sign up
文件
Clone or Download
dev.go 1017 Bytes
Copy Edit Raw Blame History
falling-ts authored 2024-11-10 20:17 +08:00 . feat 初步完成 gradle 构建发布
package envs
import (
"embed"
"io/fs"
"os"
"strings"
"github.com/joho/godotenv"
)
var Envs *embed.FS
//go:embed .env.dev
var dev embed.FS
func init() {
Envs = &dev
if err := godotenv.Load("envs/.env.dev"); err != nil {
if err = godotenv.Load(".env.dev"); err != nil {
if err = loadFile(".env.dev", false); err != nil {
panic("环境加载失败")
}
}
}
}
func readFile(filename string) (envMap map[string]string, err error) {
file, err := Envs.Open(filename)
if err != nil {
return
}
defer func(file fs.File) {
_ = file.Close()
}(file)
return godotenv.Parse(file)
}
func loadFile(filename string, overload bool) error {
envMap, err := readFile(filename)
if err != nil {
return err
}
currentEnv := map[string]bool{}
rawEnv := os.Environ()
for _, rawEnvLine := range rawEnv {
key := strings.Split(rawEnvLine, "=")[0]
currentEnv[key] = true
}
for key, value := range envMap {
if !currentEnv[key] || overload {
_ = os.Setenv(key, value)
}
}
return nil
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/falling-ts/gower.git
git@gitee.com:falling-ts/gower.git
falling-ts
gower
gower
v0.9.2

Search