golang中go build 后读取配置文件

golang打包后读取配置文件

在用go写代码的时候,为了好用经常使用go build 打包,如果我们用到了配置文件,就总是导致不能找到文件所在位置了出现bug,所以以下代码就解决了这个问题。

核心代码:

go 复制代码
	file, err := exec.LookPath(os.Args[0])
	if err != nil {
		fmt.Println("无法获取可执行文件路径:", err)
	}
	path, err := filepath.Abs(file)
	if err != nil {
		fmt.Println("无法获取文件绝对路径:", err)
	}
	index := strings.LastIndex(path, string(os.PathSeparator))
	if index == -1 {
		fmt.Println("路径分隔符未找到")
	}
	path = path[:index]
	configFileName = filepath.Join(path, "config-pro.yaml")

案例:

Successful!

相关推荐
IT_陈寒2 小时前
用了Proxy才发现以前的JavaScript白写了
前端·人工智能·后端
唐青枫3 小时前
别把 ArrayList 当成会自动管理内存的 List:Zig 动态数组从入门到实战
后端
鸿蒙开发3 小时前
我为 HarmonyOS 做了一个统一大模型 SDK:@hmkit/ai 正式开源
后端
猪是念来过倒3 小时前
Semaphore 与 RateLimiter:并发控制双雄详解
后端
掘金者阿豪3 小时前
异构数据同步最怕什么?不是同步慢,而是数据对不上
后端
程序员cxuan4 小时前
Claude 官方的学习教程,太强了。
人工智能·后端·程序员
老孙讲技术4 小时前
把工地遮挡和掉线接进项目部:setMessageCallback 订 alarm 与 deviceStatus
后端·物联网·音视频开发
老孙讲技术4 小时前
关店后有人进门,监控值班群却没响:用 setMessageCallback 订 human,再用 aiHuman 打开人形
后端·物联网·音视频开发
LEE4 小时前
原来 Claude Code 最厉害的工具,一行代码都不写
前端·后端
老孙讲技术4 小时前
把园区几百路摄像头收进值班台账:bindDevice 入账与 listDeviceDetailsByPage 翻页
后端·物联网·音视频开发