GO 开发常见问题
編譯問題
CGO
如果import的模塊使用了cgo,需要設置環境變量CGO_ENABLE=0,這樣編譯出來的可執行程序才不會依賴動態庫,例如:
CGO_ENABLED=0 go build -o haha *.go
gopath
代碼倉未使用gomodule時怎么編譯?
代碼要放到src目錄下,比如有代碼倉aaa,則可以創建目錄:/root/code/src,把aaa放到src目錄下,編譯命令:
gomodule
go get xxx
GO111MODULE 打開時
xxx代碼下載到${GOPATH}/pkg/mod/cache/download目錄下
GO111MODULE 關閉時
xxx代碼下載到${GOPATH}/src目錄下
開發問題
一個package中的函數被另一個package的函數調用,這個函數的第一個字母需要大寫,否則不能被調用
一個目錄下只能有一個packege
開發環境問題
使用vscode進行go開發
使用gomodule進行包管理的工程,無法跳轉,需執行:go mod vendor
總結