go module使用本地包的方法示例
go module的使用非常簡單
初始化go.mod
go mod init
整理依賴包
go mod tidy
如果想緩存到vendor目錄
go mod vendor
執(zhí)行命令之后都會自動把依賴搞定.
但是, 如果我們是本地開發(fā)的包, 還沒有遠程倉庫的時候, 要怎么解決本地包依賴問題呢?
使用replace將遠程包替換為本地包服務
幸運的是, go module 提供了另外一個方案, replace, 這個replace怎么使用的呢?
我們先看一下一個最基本的mod文件
module GoRoomDemo go 1.12 require ( github.com/gin-gonic/gin v1.3.0 github.com/gohouse/goroom v0.0.0-20190327052827-9ab674039336 github.com/golang/protobuf v1.3.1 // indirect github.com/gomodule/redigo v2.0.0+incompatible github.com/mattn/go-sqlite3 v1.10.0 github.com/stretchr/testify v1.3.0 // indirect golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53 // indirect )
這是一個簡單的GoRoom框架的依賴關系包, 如果我想使用本地的goroom, 只需要使用replace即可
module GoRoomDemo go 1.12 require ( github.com/gin-gonic/gin v1.3.0 github.com/gohouse/goroom v0.0.0-20190327052827-9ab674039336 github.com/golang/protobuf v1.3.1 // indirect github.com/gomodule/redigo v2.0.0+incompatible github.com/mattn/go-sqlite3 v1.10.0 github.com/stretchr/testify v1.3.0 // indirect golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53 // indirect ) replace github.com/gohouse/goroom => /path/to/go/src/github.com/gohouse/goroom
這里的 path/to/go/src/github.com/gohouse/goroom 是本地的包路徑
這樣, 我們就可以愉快的使用本地目錄了
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
GoLang中的iface?和?eface?的區(qū)別解析
iface 和 eface 都是 Go 中描述接口的底層結構體,區(qū)別在于 iface 描述的接口包含方法,而 eface 則是不包含任何方法的空接口:interface{},這篇文章主要介紹了GoLang之iface?和?eface?的區(qū)別,需要的朋友可以參考下2022-09-09
淺析go中Ticker,Timer和Tick的用法與區(qū)別
在go面試的時候,面試官經常會問time包的Ticker,Timer以及Tick的區(qū)別,一般在超時控制的時候用的比較多,今天就跟隨小編一起來詳細學一下這幾個的區(qū)別吧2023-10-10

