三言兩語說清楚go語言的module

查看go的版本

go version

go從1.11版本開始支持module功能。git

若是go的版本是1.11和1.12,項目位於$GOPATH/src裏面的時候,module功能不會生效,即便你目錄中有go.mod文件也無濟於事。code

若是go的版本是>=1.13,不管你的項目路徑在哪裏,只要項目中有go.mod文件,module功能就會生效。開發

設置環境變量

個人go語言版本是1.11.5,是支持module功能的,可是須要手動開啓,方式是設置環境變量,即export GO111MODULE=on,這個只在當前終端生效。it

開發一個模塊

  1. 假設咱們開發的模塊最終會上傳到https://gitee.com/xxfaxy/go-module-test這個地址,咱們記爲A
  2. 在$GOPATH/src以外的其餘位置建立一個目錄go-module-test,目錄裏面建立一個文件main.go內容以下:
package dry

func Add(x int, y int) int {
    return x + y;
}
  1. 在目錄內執行go mod init gitee.com/xxfaxy/go-module-test,會生成一個文件go.mod,至關於把A裏面的https://刪除了,記爲B
  2. 上傳代碼到git倉庫並設置爲公開。

調用咱們開發的模塊

  1. 在$GOPATH/src以外的其餘位置建立一個目錄demo,目錄裏面建立一個文件main.go內容以下:
package main

import (
    "fmt"
    "gitee.com/xxfaxy/go-module-test"
)

func main() {
    result := dry.Add(10, 90)
    fmt.Println(result)
}

注意裏面包的名字就是Bio

  1. 在項目目錄執行go mod init demo
  2. 執行go run ./main.go
相關文章
相關標籤/搜索