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!

相关推荐
aramae5 小时前
Python 使用库:标准库与第三方库实战
服务器·开发语言·windows·python
葡萄城技术团队6 小时前
买来的设备管理系统总"不合脚"?——"管理+感知+智能"三层框架与分期落地路径
后端
景熙55236 小时前
14.Java 集合框架从入门到源码万字详解(含 ArrayList/LinkedList/HashMap 源码、泛型通配符、红黑树)
java·开发语言·数据结构·算法
程序员天天困6 小时前
RustFS 1.0.0 深度解析:GA 之后,它值得替代 MinIO 吗?
后端·云原生·rust
葡萄城技术团队6 小时前
GcExcel V9.2 新特性揭秘:注音文字,随正文一起进 PDF
后端
海阔天空3676 小时前
1538 万行大表从 SQL Server 搬到 MySQL:一个支持断点续传的迁移工具设计与踩坑实录
后端
狗头大军之江苏分军6 小时前
《潮水漫过十七岁》爸爸最近很忙
后端
isfox6 小时前
MapReduce Join 操作:大表关联小表用 Map 端,大表关联大表用 Reduce 端
后端
怕浪猫6 小时前
构建你自己的 AI Agent 发行版:从 Profile 定制到生产部署全流程
前端·后端·面试
Ivanqhz7 小时前
Unigram 算法
开发语言·人工智能·python·深度学习·mlir