Go 获取工作目录并读取配置文件

package main
import (
"fmt"
"os"
"path/filepath"
"github.com/spf13/viper"
"go.uber.org/zap"
)
var (
logger *zap.Logger
pwd string
config *viper.Viper
)
func init() {
logger, _ = zap.NewProduction()
func() {
if ex, err := os.Executable(); err != nil {
logger.Fatal("Failed to get the working directory", zap.Error(err))
} else {
pwd = filepath.Dir(ex)
}
}()
func() {
config = viper.New()
config.AddConfigPath(pwd)
config.SetConfigName("config")
config.SetConfigType("yaml")
if err := config.ReadInConfig(); err != nil {
logger.Fatal("Failed to read the configuration file. Procedure", zap.Error(err))
}
}()
}
posted @   liy36  阅读(244)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示