在Ubuntu上打包Golang項目時,需注意以下關鍵點:
環境準備
GOPATH、GOROOT等環境變量。go mod init + go mod tidy。編譯優化
go build -o指定輸出文件名,避免默認命名沖突。CGO_ENABLED=0生成無動態庫依賴的二進制文件。GOOS和GOARCH指定目標平臺(如GOOS=linux GOARCH=amd64)。文件處理
upx --best減小體積。chmod +x賦予可執行權限。依賴與部署
go.mod、go.sum和依賴庫一并打包,或通過Docker構建鏡像。常見問題
nil的slice/map直接操作,需先初始化。float64,需自定義類型處理整數。參考來源: