go - 如何确定包源文件的目录

标签 go

<分区>

我在一个包含静态文件的存储库中有一个包。

myPackage
static/sample.json
main.go

main.go 使用 os.Open('static/sample.json") 并处理文件

然后我有另一个 repo,它通过导入来使用 mypackage。问题是它正在这个新的 repo 中寻找 json 文件。我尝试输入完整路径 github.com/username/mypackage/static/sample.json 但仍然找不到。有什么方法可以将文件保存在另一个包中?

最佳答案

从这个问题answer here

_, filename, _, ok := runtime.Caller(0)

if !ok {
    panic("no caller information")
}

os.Open(path.Dir(filename) + '/static/sample.json")

成功了。

关于go - 如何确定包源文件的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55562632/

相关文章:

go - 使用 plotinum 绘制具有对数刻度 y 轴的图形

mongodb - Mgo(mongo for go)支持物化路径?

iOS 和 Go - 使用 NSURLSession 保持事件状态

go - 在 Go 中解析格式错误的 xml 文件

go - gofmt 和 go fmt 有什么区别?

go - 使用 golang 的 Twitter Oauth

algorithm - 在 Go 中查找配对排列

Go ZMQ4 - 关闭在 Recv 上阻塞的套接字?

go - slice slice 引用

pointers - 将结构成员作为指针是否很常见?