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!

相关推荐
不一样的少年_4 分钟前
明明做了很多事,为什么简历看起来还是没含金量?
前端·后端·招聘
newerp9 分钟前
Golang 函数调用的瞬间:栈帧、拷贝栈与逃逸分析
后端·程序员·go
会编程的吕洞宾9 分钟前
LangChain4j RAG 分块策略实战:检索质量提升 80% 的 Chunking 调优全解
java·人工智能·后端
newerp10 分钟前
Golang 网络轮询器 netpoll:把阻塞 IO 变成事件通知
后端·程序员·go
万物智能12 分钟前
HDMI 输出—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
后端·架构
秋田君23 分钟前
Qt_串口编程
开发语言·qt
Cache技术分享28 分钟前
516. Java 方法句柄 - 转换(进阶篇·下)
前端·后端
妙码生花28 分钟前
全网 8k star 的 BuildAdmin 正式发布 Golang 版本,这次我们在CRUD赛道杀死了比赛。
前端·后端·ai编程
Zane199428 分钟前
复制算法明明要浪费一半内存,为什么新生代还偏偏用它
java·后端
worilb29 分钟前
Java/JVM 常见诊断文件对比
java·开发语言