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!

相关推荐
Shawn_Shawn2 分钟前
google ADK VS Langchain-ai
后端·llm·agent
名字还没想好☜14 分钟前
Go 用 bufio.Scanner 读大文件踩坑:默认 64KB 行上限、Buffer 扩容与按 Token 切分
开发语言·后端·golang·go
用户60830892904744 分钟前
SpringBoot自定义注解校验
后端
董员外1 小时前
RAG 系统进化论(六):GraphRAG(基于知识图谱的 RAG),从相似文本走向实体关系
人工智能·后端·设计模式
Conan在掘金1 小时前
ArkTS 进阶之道(31):状态联动深水区收官边界——为啥四级状态容器 + V1/V2 双轨是状态联动深水区收官根因
后端
Conan在掘金1 小时前
鸿蒙 7.0 空间美学开篇:沉浸式毛玻璃 + 底部 Sheet 面板——一行 backgroundBlurStyle 玩出物理材质感
后端
Java编程爱好者1 小时前
R2DBC vs JDBC:Spring Boot 响应式项目该怎么选
后端
AskHarries1 小时前
Sitemap 怎么自动生成
后端
神奇小汤圆1 小时前
深入 Java 线程池:从源码原理、生产调优到故障排查全链路指南
后端
Byron Loong1 小时前
【C++】重定向是什么
开发语言·c++