Go Module
Go 從 1.13 開始支援 Go Module,可以在 GOPATH
以外的地方建立 go project 並進行套件管理。一直覺得 source code 只能放在 GOPATH
裡超阿雜…
建立 project
在 GOPATH
以外的地方建立一個 directory,並且在其中執行 go mod init
:
1 | $ mkdir project |
會產生 go.mod
檔案,它會記錄 Go module 與使用的 Go 版本:
1 | module github.com/cjwind/project |
接下來在這個 directory 裡進行開發跟 build 就都一樣,重點是現在 source code 不用非得放在 GOPATH
裡啦~
套件管理
用 go get
安裝 package 後,會發現在 go.mod
多了一行 require [package] [version]
,就表示目前使用的 package 及其 version。
另外可能會出現 require [package] [version] // indirect
,這表示是我們使用的 package 所需要的 package。
也可以用 go get [package]@[version]
來指定特定的 package version。