亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Golang > 正文

Go語言包管理工具dep的安裝與使用

2020-04-01 18:56:18
字體:
來源:轉載
供稿:網友

什么是dep?

dep和go,在一定程度上相當于maven之于Java,composer之于PHP,dep是go語言官方的一個包管理工具。

相比較go get而言,dep可以直接給引入的第三方包一個專門的目錄,并且可以專門制定一個配置文件,控制go項目所引入的包,版本以及其他依賴關系。

dep這個項目放在golang官方的github中:https://github.com/golang/dep

官方對于dep的解釋是:dep is the official experiment, but not yet the official tool. 也就是說,dep目前還處于試驗階段,還并沒有成為一個官方意義上的工具。畢竟go語言還很年輕,但是這也充分的證明了go語言的生態圈十分豐富。

安裝

安裝dep工具的方式有很多種,如果是mac電腦的話,只需要如下命令:

brew install dep

對于Linux和類Unix系統而言,我們還可以使用如下方式安裝dep:

curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh

或者直接使用源碼安裝。

而對于windows電腦,可能會相對來說麻煩些,我們可以直接使用源碼編譯安裝或者直接使用go get命令安裝:

go get -u github.com/golang/dep/cmd/dep

待安裝完成之后,將dep.exe放在環境變量就可以使用了。

使用

接下來我們來看一下dep的使用方式。

當安裝好dep之后,我們在命令行中,輸入dep就可以看到有關dep的命令了。

Dep is a tool for managing dependencies for Go projectsUsage: "dep [command]"Commands: init Set up a new Go project, or migrate an existing one status Report the status of the project's dependencies ensure Ensure a dependency is safely vendored in the project version Show the dep version informationExamples: dep init  set up a new project dep ensure  install the project's dependencies dep ensure -update  update the locked versions of all dependencies dep ensure -add github.com/pkg/errors add a dependency to the projectUse "dep help [command]" for more information about a command.

我們可以看出來,dep一般進場會使用3個命令:

init-用來初始化項目

status-用來查看當前項目的依賴包的狀態

ensure-用來同步包的配置文件和引入的包

下面我們正式使用dep來創建一個項目。首先建立一個項目路徑,這里我們將項目路徑叫做depProject。然后在項目路徑中建立src源代碼目錄。在src中建立一個存放dep文件和項目主文件的目錄,我們暫且可以叫做depmain,并建立一個go文件。

這樣我們的目錄結構如下:

depProject
    |----src
          |----depmain
                  |-----main.go

建立好之后,我們在main.go中寫一個簡單的go程序:

package mainimport ( "fmt")func main() { fmt.Println("hello)}

之后我們在這個目錄下運行如下命令:

dep init

運行完成之后,dep就會為我們自動生成如下文件和目錄:

Go語言,管理工具,dep

有點像常規go項目的樣子了,不過需要注意的是pkg中存放的go語言引入包的緩存文件,vendor中存放的是真正的引入的包內容。接下來是兩個文件,Gopkg.lock和Gopkg.toml。Gopkg.lock文件是自動生成的,而Gopkg.toml文件是我們可以編輯的文件,通過編輯這個文件,并運行dep的命令可以達到引入包的目的:

# 必需包required = ["github.com/gin-gonic/gin"]# 忽略包#ignored = []沒有可以不寫# 項目元數據#[metadata]# 約束條件[[constraint]] # name =  # 可選:版本 # version = # 分支 # branch # 修訂 # revision # 可選:指定來源 # source = "github.com/gin-gonic/gin"

以上代碼是一個示例,我們寫好之后運行

dep ensure

就可以了,我們會看到vendor下多了一些有關此包的依賴和引入。

我們引入了gin框架的包,所以我們現在就可以使用gin框架了,寫的時候,和我們平時的go語言項目一樣:

package mainimport "github.com/gin-gonic/gin"func main() { r := gin.Default() r.GET("/ping", func(c *gin.Context) { c.JSON(200, gin.H{  "message": "pong", }) }) r.Run() // listen and serve on 0.0.0.0:8080}

這樣做完全沒有問題,我們只用考慮這個包原本的路徑github.com/gin-gonic/gin就好。

接下來我們就可以編譯運行這個項目了。

另外需要注意的是,使用dep管理包控制依賴的時候,如果我們需要新建目錄,并編寫自己的新的包名的時候,只需要在src下新建目錄就可以了。這樣做才能正確引入。

比如:我們要編寫一個add的函數,我們可以這樣,在src下簡歷一個utils目錄,下寫個add.go文件:

package utilsfunc Add(a int, b int) int { return a+b}

這樣在主程序中,這樣寫就可以import自己寫的包,并使用自己的函數了:

package mainimport ( "utils" "fmt")func main() { fmt.Println("hello") utils.Add(1, 1)}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美黑人性视频| 国产精品入口尤物| 色综合亚洲精品激情狠狠| 欧美日韩国产二区| 日韩hd视频在线观看| 国产精品爽黄69天堂a| 午夜精品在线视频| 欧美极品在线视频| 日本不卡高字幕在线2019| 欧美专区福利在线| 一本一本久久a久久精品综合小说| 57pao成人国产永久免费| 91色p视频在线| 成人免费激情视频| 久久99久久99精品免观看粉嫩| 国产精品尤物福利片在线观看| 亚洲一区二区免费在线| 久久久成人av| 国产精品美女在线观看| 日韩中文在线中文网在线观看| 欧美专区中文字幕| 亚洲欧美日韩国产中文| 国产成人精品免高潮费视频| 亚洲国产小视频| 日韩精品中文在线观看| 亚洲xxx自由成熟| 亚洲高清色综合| 日韩精品免费综合视频在线播放| 另类图片亚洲另类| 九九热99久久久国产盗摄| 一区二区三区久久精品| 欧美一区二区三区……| 欧美亚洲成人xxx| 欧美电影在线观看网站| 国产一区二区三区视频| 精品一区精品二区| 777午夜精品福利在线观看| 亚洲天堂av在线播放| 久久久精品久久久久| 亚洲视频国产视频| 欧美综合在线第二页| 欧美一区二粉嫩精品国产一线天| 亚洲精品98久久久久久中文字幕| 91在线视频九色| 欧美黑人极品猛少妇色xxxxx| 国产精品夜间视频香蕉| 亚洲欧洲日产国码av系列天堂| 国产日韩在线看片| 亚洲第一精品电影| 97精品视频在线| 日韩国产欧美精品在线| 欧美午夜精品久久久久久浪潮| 国产精品成人av在线| 91久久久久久久久久久| 国产在线观看精品| 在线视频亚洲欧美| 精品久久久久久久久中文字幕| 国产婷婷97碰碰久久人人蜜臀| 国产精品美女av| 精品视频久久久久久| 色噜噜国产精品视频一区二区| 欧美自拍视频在线| 日韩视频一区在线| 久久久久99精品久久久久| 欧美在线一级va免费观看| 中文字幕日韩精品在线| 久久综合免费视频影院| 在线视频免费一区二区| 国产精品偷伦视频免费观看国产| 俺去啦;欧美日韩| 中文字幕精品一区久久久久| 国内偷自视频区视频综合| 欧美日韩在线视频一区| 亚洲精品www久久久| 青青久久av北条麻妃黑人| 亚洲人成啪啪网站| 久久综合电影一区| 日韩av在线网址| www.日本久久久久com.| 久久91超碰青草是什么| 日韩女在线观看| 亚洲美女视频网| 久久天堂av综合合色| 在线视频日本亚洲性| 日本精品免费一区二区三区| 91在线中文字幕| 欧美成人精品激情在线观看| 国产91色在线|免| 欧美裸体视频网站| 亚洲美女在线观看| 在线亚洲欧美视频| 最近的2019中文字幕免费一页| 国产精品va在线播放我和闺蜜| 欧美精品激情blacked18| 久久久电影免费观看完整版| 日本精品免费一区二区三区| 欧美成人亚洲成人日韩成人| 日本国产欧美一区二区三区| 国产一区二区三区视频免费| 国产精品7m视频| 精品国产一区二区三区久久狼5月| 久久精品成人欧美大片古装| 国产精品国产三级国产aⅴ浪潮| 国产丝袜一区二区| 日韩中文av在线| 97碰碰碰免费色视频| 日韩精品免费视频| 精品久久久久久久久久久久久久| 亚洲精品国产欧美| 亚洲欧美国产精品va在线观看| 欧美影院成年免费版| 亚洲色图35p| 久久手机精品视频| 国产精品极品美女在线观看免费| 69**夜色精品国产69乱| 日本一区二区在线免费播放| 欧美性猛交xxxx乱大交3| 久热国产精品视频| 亚洲精品一区二区在线| 8090成年在线看片午夜| 亚洲欧美精品在线| 成人免费网站在线| 92裸体在线视频网站| 欧美日韩国产色| 国产精品羞羞答答| 国产精品午夜视频| 亚洲在线视频福利| 欧美性生交xxxxx久久久| 最近2019免费中文字幕视频三| 中日韩美女免费视频网站在线观看| 91精品国产高清久久久久久| 亚洲国产成人在线播放| 欧美丝袜一区二区三区| 国产一区二区三区高清在线观看| 欧美—级a级欧美特级ar全黄| 亚洲精品不卡在线| 久久国产精品影视| 国产成人精品免费久久久久| 青青草成人在线| 国产成人精品视频在线| 中文字幕亚洲情99在线| 亚洲人成毛片在线播放| 成人午夜在线影院| 日本国产高清不卡| 孩xxxx性bbbb欧美| 成人久久久久久| 日韩在线观看免费网站| 国产精品美乳在线观看| 欧美黄色免费网站| 俺也去精品视频在线观看| 亚洲综合中文字幕在线| 国产精品福利小视频| 亚洲国产成人爱av在线播放| 日本精品一区二区三区在线播放视频| 亚洲精品国产精品国自产在线| 国产不卡av在线免费观看| 久久久久国色av免费观看性色| 久久久久久久久久久亚洲| 久久久久国产视频| 91国产精品91| 色先锋资源久久综合5566| 色偷偷88888欧美精品久久久| 亚洲欧洲av一区二区| 国产999精品久久久影片官网|