標籤:
如果你想開始學習GO文法前,請先背熟下述4點:
1. 環境變數:
使用go env查看環境變數
GOARCH/GOHOSTARCH: 體系架構, amd64或386
GOOS/GOHOSTOS: 作業系統, linux或windows
GOROOT: GO安裝目錄
GOBIN: GO程式目錄
GOTOOLDIR: GO工具目錄
CGO_ENABLED: 是否啟用CGO
CC
CXX
GOGCCFLAGS
GORACE: 資料同步檢測, 配合go test, go run, go build, go install的-race選項.
GOPATH: GO包尋找路徑
2. 程式碼群組織:
- $GOPATH包含多個workspace
- workspace包含src, pkg, bin
- src包含package, 即program, library
- package包含go file
需要明白:
* package name vs package path
package name指go file中使用package聲明的identifie. package path指相對GOPATH的路徑. 相同package path, 相同package name.
package import完整文法:
import [name] "path"
其中:
name部分可以
- 無, 使用package聲明的預設name
- 點, 使用當前package
- blank, 僅執行init
- name, 自訂名稱
path部分可以
- 絕對路徑: 相對$GOPATH的路徑
- 相對路徑: 相對當前檔案的路徑.
注意: 使用vendor機制不能出現相對路徑, 否則解析出錯.
* program vs library
package name為main表示program
package name非main表示library
3. 代碼測試
使用go test命令執行測試代碼.
- test file以_test為尾碼.
- test func以Test為首碼.
4. 遠程包
使用go get命令擷取遠程包.
但go test命令依賴git或svn.
怎樣開始GO編程?