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!

相关推荐
吃饱了得干活13 小时前
为什么你的Service越写越臃肿?三层架构的“业务逻辑层”是个黑盒
java·后端·架构
何时梦醒13 小时前
Docker 容器化入门:从「我电脑能跑」到「哪台机器都能跑」
后端·docker·面试
颜进强13 小时前
11 - 从需求拆解到 OpenSpec:为什么不要直接敲 /opsx:explore
前端·后端·ai编程
foggyprojects13 小时前
AI 说销售额下降了,哪些客户拖累了结果?
后端
用户8524950718413 小时前
NestJS 架构实战:给后端代码请来一位“项目经理
后端
唐青枫13 小时前
一个点号省掉一堆类型:Zig .{} 语法、类型推导与实战
后端
月才13 小时前
告别System.out.println,打造专业日志系统
后端
闻道且行之13 小时前
图片处理助手|C++ 手搓离线 AI 抠图工具,U2Net 原理到落地一次讲透
开发语言·c++·人工智能·神经网络·opencv·计算机视觉
无糖可可果13 小时前
从零理解 Docker:为什么我的代码在你的电脑上跑不起来?
javascript·后端
泡海椒13 小时前
轻量级 Java JSON 库推荐:jquick-json 序列化/反序列化 + 变量替换 + 字节码优化全解析
后端