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!

相关推荐
C++ 老炮儿的技术栈18 分钟前
不调用C++/C的字符串库函数,编写函数strcpy
c语言·开发语言·c++·windows·git·postman·visual studio
布局呆星24 分钟前
闭包与装饰器
开发语言·python
计算机学姐32 分钟前
基于SpringBoot的演唱会抢票系统
java·spring boot·后端·spring·tomcat·intellij-idea·推荐算法
fyzy35 分钟前
C++写后端实现,实现前后端分离
开发语言·c++
huohuopro37 分钟前
Mybatis的七种传参方式
java·开发语言·mybatis
Lee_SmallNorth39 分钟前
变态需求之【角色不同访问数据库的用户不同】
java·开发语言·数据库
扶苏-su41 分钟前
Java网络编程:InetAddress 详解
java·开发语言·网络
李慕婉学姐41 分钟前
Springboot连锁火锅管理及预测系统sh5s1gn1(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
IOT-Power2 小时前
QT构建构建DataBus总线
开发语言·qt
Ophelia(秃头版2 小时前
JS事件循环与NodeJS事件循环(libuv)
开发语言·javascript