初始化
配置初始化
ConfigInit 从 .env 文件加载环境变量
配置初始化
ConfigInit 方法从 .env 文件加载环境变量到系统环境中。
ConfigInit
func (r *Reg) ConfigInit()实现:
func (r *Reg) ConfigInit() {
// 加载 .env 文件到环境变量(忽略不存在的错误)
_ = godotenv.Load()
}配置文件
在项目根目录创建 .env 文件:
# 调试模式
DEBUG=true
# 雪花算法配置
SNOWFLAKE_DATACENTER_ID=1
SNOWFLAKE_NODE_ID=1
# 服务配置
SERVER_PORT=8080读取配置
使用 xEnv 包读取环境变量:
import xEnv "github.com/bamboo-services/bamboo-base-go/env"
// 读取布尔值
debug := xEnv.GetEnvBool(xEnv.Debug, false)
// 读取字符串
port := xEnv.GetEnvString("SERVER_PORT", "8080")
// 读取整数
nodeID := xEnv.GetEnvInt("SNOWFLAKE_NODE_ID", 1)预定义环境变量
| 变量名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
DEBUG | bool | false | 调试模式开关 |
SNOWFLAKE_DATACENTER_ID | int | 自动生成 | 数据中心 ID |
SNOWFLAKE_NODE_ID | int | 自动生成 | 节点 ID |
注意事项
.env文件不存在时不会报错,会静默忽略- 环境变量优先级:系统环境变量 >
.env文件 - 建议将
.env添加到.gitignore,避免敏感信息泄露