gpt4 book ai didi

go - 如何从Go中的子文件夹访问配置文件

转载 作者:数据小太阳 更新时间:2023-10-29 03:29:55 32 4
gpt4 key购买 nike

我的项目结构看起来很像这样:

project/
api/
api.go
config/
config.go
config.toml
tests/
api_test.go
main.go

因此,每当我初始化配置包时,我都会尝试使用相对路径读取配置文件:config/config.toml。只要我运行我的程序,它就可以正常工作:go run main.go

当我尝试运行测试时出现问题:go test project/tests。我的配置包找不到文件 config/config.toml,因为当前工作目录不是第一种情况下的 project/,而是 project/tests/

有什么方便的方法可以从runtest 访问配置文件吗?

最佳答案

最后,我完成了更改配置文件加载方式的行为。之前,加载是在 config 中完成的,打包在 init() 方法中。

取而代之的是,我创建了方法 Load(path string),它根据传递的 path 变量执行配置文件的加载。

现在,我从 main.go 中这样调用它:

config.Load("config/")   

然后从 api_test.go 像这样:

config.Load("../config/")

这不是一个很好的解决方案,但在那种情况下,用户在运行测试时不需要指定任何额外的参数。

关于go - 如何从Go中的子文件夹访问配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32355314/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com