延續上一章節的話題 GOPATH 及 Go Modulele 環境變量設定好之後
首先要了解開發中會使用到的指令
$ go
Go is a tool for managing Go source code.
Usage:
go <command> [arguments]
The commands are:
bug start a bug report
build compile packages and dependencies
clean remove object files and cached files
doc show documentation for package or symbol
env print Go environment information
fix update packages to use new APIs
fmt gofmt (reformat) package sources
generate generate Go files by processing source
get add dependencies to current module and install them
install compile and install packages and dependencies
list list packages or modules
mod module maintenance
run compile and run Go program
test test packages
tool run specified go tool
version print Go version
vet report likely mistakes in packages
Use "go help <command>" for more information about a command.
Additional help topics:
buildconstraint build constraints
buildmode build modes
c calling between Go and C
cache build and test caching
environment environment variables
filetype file types
go.mod the go.mod file
gopath GOPATH environment variable
gopath-get legacy GOPATH go get
goproxy module proxy protocol
importpath import path syntax
modules modules, module versions, and more
module-get module-aware go get
module-auth module authentication using go.sum
module-private module configuration for non-public modules
packages package lists and patterns
testflag testing flags
testfunc testing functions
Use "go help <topic>" for more information about that topic.
這邊列出幾個比較常用的指令
GOPATH 是工作(開發)路徑,也就是未來要開發專案(程式碼)都會在這個資料夾底下,
那資料夾結構應該要設置什麼樣子呢?
需要再 GOPATH/ 下創建3個資料夾
分別如下:
在開發過程中,在專案上常常經常使用其他開源的套件協助開發。
若沒有使用套件管理,協同開發者剛接觸專案時,可能面臨無法快速 build 起專案
或者是在開發階段上沒問題,上了正式機有問題。
種種原因之下,我們可以瞭解到使用套件管理是多麼重要的事
假設使用 github 創建 go-ironman repo
那開發路徑設置上 GOPATH/src/github.com/{github account}/go-iroman 目錄下進行開發
$ go mod init github.com/derek/go-iroman #啟用 go modulde 並取名為github.com/derek/go-iroman
由上圖可以觀看出新增 go.mod
go.mod 記錄著 go 版本 及 module 名稱,因目前沒有安裝套件,並沒有紀錄套件及套件版本
這邊先安裝 gin 依賴套件
來看看發生甚麼事情呢
go get -u github.com/gin-gonic/gin #下載 最新版的 gin
可以看出 go.mod 內容更新了
從 go.sum 中可以觀看出紀錄依賴的套件的版本
發現 GOPATH/pkg/ 路徑下看到新增了一個 mod 資料夾
mod 資料夾存放著剛剛下載下來的套件
這樣簡單的方式,使用了 go mod init,後續在專案上使用的套件,都會紀錄在go mod 上
簡單的指令就可以使開發專案上更穩定