好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Go語言包管理工具dep的安裝與使用

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

熱門標簽:黃岡人工智能電銷機器人哪個好 惠州電銷防封電話卡 濱州自動電銷機器人排名 浙江高頻外呼系統多少錢一個月 鄭州亮點科技用的什么外呼系統 阿里云ai電話機器人 釘釘有地圖標注功能嗎 建造者2地圖標注 汕頭小型外呼系統

什么是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 projects

Usage: "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 information

Examples:
 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 project

Use "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 main

import (
 "fmt"
)
func main() {
 fmt.Println("hello)
}

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

dep init

運行完成之后,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 main

import "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 utils

func Add(a int, b int) int {
 return a+b
}

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

package main

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

總結

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

您可能感興趣的文章:
  • 利用dep代替go get獲取私有庫的方法教程
  • 使用dep 配置golang 開發環境的操作方法

標簽:瀘州 滄州 昭通 東營 駐馬店 阿壩 泰安 晉中

巨人網絡通訊聲明:本文標題《Go語言包管理工具dep的安裝與使用》,本文關鍵詞  語言,包,管理工具,dep,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Go語言包管理工具dep的安裝與使用》相關的同類信息!
  • 本頁收集關于Go語言包管理工具dep的安裝與使用的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 18岁大陆女rapper欢迎你| 色戒3小时港版完整版 | 麻dou传媒秫豆亻传媒| 国产农村妇女AAAAA视频| 古代肉文| 国产精品午夜高清在线观看| 国产黑丝在线| 又粗又大又深又硬又爽| 亚偷熟乱区婷婷综合| 精品无码久久久久久国产百度| 国产精品99精品免费无码视频 | 狠狠久久婷五月综合色啪网| 无码国产精品一区二区色情八戒| 国产精品亚洲欧美一区麻豆| 国产91色综合久久免费分享| 资阳市| 99re66热这里只有精品6在线| japansexxxx| 男友太有才小说| 国产伦精品午夜500部| 1v1高辣巨肉H到处做| 无码人妻欧美一区二区三区 | 少妇婬乱A片免费看网站古女| 乳力影院第一页AAA片入口| 免费人爱视频| bl高肉强受失禁尿出来v文| 免费精品国产日韩热久久| 国产成人精品一区二三区熟女在线| 亲胸小说| 国产精品亚洲精品已满sex | 欧美性69videosex| 美女翘臀强行进去太爽了| 大尺度床震捏胸呻吟视频| 成年人网站入口| 双性人小说| 奶水喷了又h了| 啊…用力野外| 永久免费看A片无码网站十九| 7m凹凸精品视频在线观看| 污污视频在线观看黄| 武冈市|