猿问

如何获取文件所在的包目录,而不是当前工作目录

我正在制作一个包来对服务进行 API 调用。

我有一个测试包,我只用它来测试 API 调用并测试我只是include将另一个包放入的主包的功能。

在我正在处理的主包中,我有

ioutil.ReadFile(filepath.Abs("Filename.pub"))

没关系,但是当我从我的测试包中调用它时,例如

/Users/####/gocode/src/github.com/testfolder go run main.go

它告诉我

panic: open /Users/####/gocode/src/github.com/testfolder/public.pub: no such file or directory

问题是,它是否正在寻找public.pub内部testfolder而不是github.com/apipackage/它所在的位置。

只是为了澄清这个乱七八糟的词:

API包有一个从同目录读取的函数

但是因为我包含了 API 包,而 Testfolder 是 CWD,当我go run main.go试图从而不是从而不是获取它时,testfolder即使 main.go 没有该功能并且只是包含它。


莫回无
浏览 174回答 1
1回答
随时随地看视频慕课网APP

相关分类

Go
我要回答