中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Go Modules的使用方法

發布時間:2020-05-22 18:28:27 來源:億速云 閱讀:219 作者:鴿子 欄目:編程語言

Go Modules 介紹

Modules是Go 1.11中新增的實驗性功能,基于vgo演變而來,是一個新型的包管理工具。

Go 1.11 之前的包管理工具都是基于PATH或者vendor目錄,并不能很好的解決不同版本依賴問題。Modules是在GOPATH之外一套新的包管理方式。使用Modules可以完全不依賴GOPATH。

注意:Go Modules 需要Go 1.11以上版本

使用指南

Example

1、在GOPATH之外創建一個目錄

$ mkdir -p /tmp/scratchpad/hello
$ cd /tmp/scratchpad/hello

2、初始化Module

$ go mod init github.com/you/hello
go: creating new go.mod: module github.com/you/hello

3、編輯hello.go

package main
import (
    "fmt"
    "rsc.io/quote"
)
func main() {
    fmt.Println(quote.Hello())
}

4、編譯并運行

$ go build
$ ./hello
Hello, world.

注意: go build 會自動下載依賴包,而golang.org/x/...之類的包需要翻墻,可以添加GOPROXY環境變量設置代理:

export GOPROXY=https://goproxy.io

此時,go.mod文件會自動更新,它包含項目所需的依賴項和對應版本號

$ cat go.mod
module github.com/you/hello
require rsc.io/quote v1.5.2

除了go.mod之外,go還維護一個名為go.sum的文件,其中包含特定模塊版本的預期哈希值:

cat go.sum
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c h2:qgOY6WgZOaTkIIMiVjBQcw93ERBE4m30iBm00nkL0i8=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h2:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
rsc.io/quote v1.5.2 h2:w5fcysjrx7yqtD/aO+QwRjYZOKnaM9Uh3b40tElTs3Y=
rsc.io/quote v1.5.2/go.mod h2:LzX7hefJvL54yjefDEDHNONDjII0t9xZLPXsUe+TKr0=
rsc.io/sampler v1.3.0 h2:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4=
rsc.io/sampler v1.3.0/go.mod h2:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=

go使用go.sum文件確保這些模塊的未來下載與第一次下載相同,以此確保項目所依賴的模塊不會出現意外更改。
go.mod和go.sum都應檢入版本控制。

日常WorkFlow

典型的日常工作流程可能是:

根據需要在.go代碼中添加import語句

標準命令(如go build或go test)會根據需要自動添加新的依賴項(更新go.mod并下載新的依賴項)

需要特定版本的時候,可以使用go get指定特定版本如go get foo@v1.2.3, go get foo@master, go get foo@e3702bed2,或者直接編輯go.mod文件

常用的命令:

go list -m all 查看項目中所有直接和間接依賴關系

go mod tidy 清除未使用的依賴項,并添加其他所需依賴項

go mod vendor 將依賴復制到vendor目錄下

以上就是Go Modules使用詳解的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

比如县| 济宁市| 沙洋县| 曲周县| 霞浦县| 凤城市| 抚松县| 鲁山县| 肥乡县| 湖南省| 达州市| 丰城市| 虹口区| 黄平县| 石门县| 长海县| 耒阳市| 沈阳市| 栖霞市| 彭州市| 卓尼县| 昌乐县| 宜阳县| 柳州市| 黄石市| 塔城市| 柏乡县| 云和县| 连云港市| 锡林郭勒盟| 四平市| 河东区| 根河市| 桐柏县| 罗源县| 建湖县| 盐城市| 于田县| 鹤壁市| 东乌| 仪征市|