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!

相关推荐
程序员梅雨17 分钟前
Linux & Shell 实用干货
linux·运维·服务器·后端·面试·php
大牧师25 分钟前
TypeORM 入门教程
后端·sql·mysql·orm·nest·typeorm
IT_陈寒26 分钟前
Vite静态资源路径这个大坑害我调了一下午
前端·人工智能·后端
oliver_sys_log35 分钟前
绕过 Yearning 查询体验限制:我做了一个 DataGrip 只读 SQL 代理
后端·mysql
水深火乐37 分钟前
golang-jwt v5 入门
后端
carson95539 分钟前
基于springboot和vue的文本文件上传下载在线编辑功能
后端
n8n44 分钟前
Spring AI 提示词工程进阶:System / User / Assistant 角色、Prompt Template 动态拼装与多角色人设切换
后端
步行cgn1 小时前
Spring Boot 主入口类上的 @Enable 和 @Scan 注解详解
java·spring boot·后端
en.en..1 小时前
C语言核心解析:#define与typedef本质区别
开发语言·c++·算法
2601_966949651 小时前
批量获取多只股票五档盘口的极简方案:QuantDash Python SDK 实战指南
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash