对于一个golang开发者来说,牢固扎实的基础是十分重要的,编程网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《在运行时获取项目根路径以读取配置文件》,主要介绍了,希望对大家的知识积累有
对于一个golang开发者来说,牢固扎实的基础是十分重要的,编程网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《在运行时获取项目根路径以读取配置文件》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!
问题内容我有一个具有以下结构的 Go 项目,我正在努力读取位于我的项目中的配置文件,我需要读取 config yaml
(位于根项目内),我应该在 other 中读取它包在子根目录
下,我得到了错误未找到
myproject
- config.yaml
- cmd
--com
---ftp
----fs.go
在 fs.go
内部,我需要阅读 config.yaml
并且没有成功。我尝试使用 os.getwd
和 ex, err := os.executable()
以及 "../../../"
没有成功,知道吗?
@vonc - 建议使用 https://GitHub.com/gobuffalo/packr
这可以帮助我猜测,但问题是我需要在 fs.go
文件内调用它,并且我需要将其作为参数传递<从 main.go
文件中,有更好的方法吗?因为我需要在很多函数中传递这个参数......
viper
可以帮忙吗? Https://github.com/spf13/viper
我的程序是 cli
程序,它将用作 bin
。
2018:如果二进制文件是在 gopath/bin
中构建的,而您的源代码位于 gopath/src
中,则相对路径将为(在运行时)../src/myproject
。
但更简洁的方法是将该文件嵌入到您的二进制文件中。
例如,参见 gobuffalo/packr
。
2021 年第一季度更新:使用 go 1.16,您将使用 embed
package
//go:embed hello.txt
var f embed.FS
data, _ := f.ReadFile("hello.txt")
print(string(data))
今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注编程网公众号,一起学习编程~
--结束END--
本文标题: 在运行时获取项目根路径以读取配置文件
本文链接: https://www.lsjlt.com/news/596012.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0