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!

相关推荐
hqyjzsb5 分钟前
规划工商管理大学成长:搭建四层能力体系,重视高阶的 AI 能力建设
开发语言·人工智能·python·microsoft·职场和发展·数据挖掘·业界资讯
我不会起名字32210 分钟前
一天一道算法题(35):电话号码的字母组合
java·数据结构·后端·python·leetcode·go·回溯
for_ever_love__24 分钟前
爬虫项目: 获取高分电影的数据总结
开发语言·python·学习
weixin_3077791329 分钟前
C++代码实现MATLAB中的ode23t函数功能
开发语言·c++·算法·matlab
星栈1 小时前
ADK-Rust 是什么?Rust 生态新一代 AI Agent 开发套件
后端·agent
君顾11 小时前
24小时自助健身房系统开发实战与完整指南
java·开发语言·健身房
盖伦发发1 小时前
业务开发常用设计模式:状态、策略、工厂、适配器、模板方法
后端·软件工程
syagain_zsx1 小时前
算法基础篇 · 02 高精度(C++ 题解)
开发语言·c++·学习·高精度
白远山1 小时前
无人自助健身平台搭建:从架构设计到设备联动的完整实战
java·开发语言·架构·需求分析
程序员老赵1 小时前
Docker 部署 XXL-JOB:轻松搭建分布式任务调度平台
后端·docker·开源