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!

相关推荐
kylezhao20193 分钟前
第三节、C# 上位机面向对象编程详解(工控硬件封装实战版)
开发语言·前端·c#
散峰而望3 分钟前
【算法竞赛】C++入门(三)、C++输入输出初级 -- 习题篇
c语言·开发语言·数据结构·c++·算法·github
kingwebo'sZone4 分钟前
c# 遍历 根据控件名获取控件实例
开发语言·c#
星空椰11 分钟前
jvms Java 版本管理工具
java·开发语言
REDcker21 分钟前
C++ 崩溃堆栈捕获库详解
linux·开发语言·c++·tcp/ip·架构·崩溃·堆栈
幽络源小助理29 分钟前
基于SpringBoot+Vue的实验室管理系统源码 | 教育类JavaWeb项目免费下载 – 幽络源
vue.js·spring boot·后端
qq_4061761433 分钟前
JavaScript闭包:从底层原理到实战
开发语言·前端·javascript
沐知全栈开发33 分钟前
`.toggleClass()` 方法详解
开发语言
Rysxt_35 分钟前
鸿蒙开发语言ArkTS全面介绍
开发语言·华为·harmonyos
三天不学习38 分钟前
【入门教学】Python包管理与pip常用包
开发语言·python·pip