知识点掌握了,还需要不断练习才能熟练运用。下面编程网给大家带来一个Golang开发实战,手把手教大家学习《获取包源的完整路径通过导入包路径》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!
问题内容目前我有一个像 str := "github.com/pkg/errors"
这样的参数。我需要包的完整路径。
目前我实现这一目标的方法是使用 build.Default.GOPATH+"/src/"+str
。
是否有一种原生的非 hacky 方法来解析导入的完整路径(可能位于 vendor
文件夹等中)。
解决方案
使用 go/build 包解析目录的导入路径:
p, err := build.Default.Import("github.com/pkg/errors", ".", build.FindOnly)
if err != nil {
// handle error
}
d := p.Dir
此代码片段相对于当前工作目录解析 local imports。如果您不想解析本地导入或在适当的情况下提供不同的目录,请将 "."
替换为 ""
。
终于介绍完啦!小伙伴们,这篇关于《获取包源的完整路径通过导入包路径》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~编程网公众号也会发布Golang相关知识,快来关注吧!