为了账号安全,请及时绑定邮箱和手机立即绑定

管理硬编码的导入路径

管理硬编码的导入路径

Go
喵喵时光机 2023-07-26 13:14:18
在 Go 中,某些包有版本控制是很常见的。所以一个程序可能看起来像这样:package mainimport (    "github.com/go-gl/gl/v3.3-core/gl"    "github.com/go-gl/glfw/v3.2/glfw")// ... do stuff有时,我可能想更新glfw的版本。让我们想象一下 GLFW 3.3 绑定来到 Go,我想从 3.2 进行更新。我的项目中可能有多个使用 glfw 的 Go 文件。我不想深入研究每一个并手动更新导入的版本。理想情况下,我也不会复制那么长的路径,并且我可以在每个项目的一个位置定义它。也许我可以编写一个脚本来查找+替换“github.com/go-gl/glfw/v3.2/glfw”也许我可以和 Genny 一起模板化文件也许我可以在根Go路径“glfw”->“github.com/go-gl/glfw/v3.2/glfw”中创建一个符号链接,在更改版本时更新它,然后使用import "glfw"但此信息位于项目“外部”,因此克隆我的项目的人都不知道要使用哪个版本但这是一个全局变化,我可能有多个项目想要依赖不同的版本理想情况下,我能够在每个源文件中执行类似的操作:package mainimport (    $gl    $glfw)在一些项目级点文件中,类似:gl=github.com/go-gl/gl/v3.3-core/glglfw=github.com/go-gl/glfw/v3.2/glfw或者,附加到定义常量的命令行参数go build可能类似于:go build -Dgl=github.com/go-gl/gl/v3.3-core/gl -Dglfw=github.com/go-gl/glfw/v3.2/glfw目前其他人如何处理这个问题?
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 74 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信