go 學習 (五):包管理

1、設置環境變量git

 

 

2、啓用 go modules 功能 並設置代理github

https://goproxy.io/zh/golang

補充:ide

  GO111MODULE  有三個值:on、off、autoui

  • GO111MODULE=off,go命令行將不會支持module功能,尋找依賴包的方式將會沿用舊版本那種經過vendor目錄或者GOPATH模式來查找。
  • GO111MODULE=ongo命令行會使用modules,而一點也不會去GOPATH目錄下查找。
  • GO111MODULE=auto,默認值,go命令行將會根據當前目錄來決定是否啓用module功能。

  modules 功能啓用後,依賴包的安裝位置在 $GOPATH/pkg 目錄下;go mod 提供的命令以下:spa

 

 

 

3、go mod 命令管理包命令行

  • 在 GOPATH 覺得的任意路徑下新建項目目錄,eg:GOPATH目錄爲 D:GoCode;項目目錄爲 D:Project/testProject
  • 進入項目目錄,新建目錄 bin、src/main,進入 src 目錄;注:此處目錄可隨意。
  • 使用命令:go mod init main,此時生成一個 go.mod  文件;注:go mod init 命令後面也能夠跟上文件名稱(帶後綴)。go.mod文件建立後,它的內容將會被go toolchain全面掌控。go toolchain會在各種命令執行時,好比go get、go build、go mod等修改和維護go.mod文件。
  • 進入 main目錄,新建 main.go 文件,寫入代碼:
package main

import (
    "net/http"
    
    "github.com/labstack/echo"
)

func main() {
    e := echo.New()
    e.GET("/", func(c echo.Context) error {
        return c.String(http.StatusOK, "Hello, World!")
    })
    e.Logger.Fatal(e.Start(":1323"))
}
main.go
  • 使用命令:go run main.go,正常運行的結果以下:

  • go module 安裝 package 的原則是先拉最新的 release tag,若無tag則拉最新的commit。 go 會自動生成一個 go.sum 文件來記錄 dependency tree。go.mod 文件內容以下

 

go.moudles 的官方介紹:https://github.com/golang/go/wiki/Modules代理

 

go.mod 提供了modulerequirereplaceexclude 四個命令code

  • module 語句指定包的名字(路徑)
  • require 語句指定的依賴項模塊
  • replace 語句能夠替換依賴項模塊
  • exclude 語句能夠忽略依賴項模塊
相關文章
相關標籤/搜索