登录
首页 >  Golang >  Go问答

获取包源的完整路径通过导入包路径

来源:stackoverflow

时间:2024-03-28 11:36:29 471浏览 收藏

知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个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学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>