登录
首页 >  Golang >  Go问答

管理固定路径的导入项

来源:stackoverflow

时间:2024-03-05 16:09:26 362浏览 收藏

学习Golang要努力,但是不要急!今天的这篇文章《管理固定路径的导入项》将会介绍到等等知识点,如果你想深入学习Golang,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!

问题内容

在 go 中,某些包有版本控制是很常见的。所以程序可能如下所示:

package main

import (
    "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 main

import (
    $gl
    $glfw
)

在一些项目级点文件中,类似:

gl=github.com/go-gl/gl/v3.3-core/gl
glfw=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

其他人目前如何处理这个问题?


解决方案


有关管理软件包版本的推荐方法,请参阅 github.com/golang/go/wiki/Modules

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

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