获取包源的完整路径通过导入包路径
短信预约 -IT技能 免费直播动态提醒
知识点掌握了,还需要不断练习才能熟练运用。下面编程网给大家带来一个Golang开发实战,手把手教大家学习《获取包源的完整路径通过导入包路径》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!
问题内容目前我有一个像 str := "github.com/pkg/errors"
这样的参数。我需要包的完整路径。
目前我实现这一目标的方法是使用 build.Default.GOPATH+"/class="lazy" data-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相关知识,快来关注吧!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341