在 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 關注
- 136 瀏覽
添加回答
舉報
0/150
提交
取消