下載/安裝
Windows-預設
Windows-自訂安裝位址
- 下載
goX.XX.X.windows-amd64.zip並解壓縮至自訂目錄。 - 設定環境變數:新增
PATH環境變數,指向自訂目錄的bin目錄。 - VSCode 安裝 Go 擴充套件設定:
- 在 Go 擴充套件設定裡面找到 Go: Goroot 進行設定。
- 修改
"go.goroot": "自訂目錄",,完成後重新開啟 VSCode 即可。
如:"go.goroot": "D:\\User\\Env\\go",
建立專案/環境部屬
初始化 Go Module
此部分類似 npm 的 package.json,將包含 Golang 版本以及本專案相關的套件版本統一管理。
- 確定專案資料夾
- 初始化專案:
go mod init <專案名稱 (Module)>- 此時會產生
go.mod文件,包含了專案名稱、使用 Golang 版本。
VSCode 偵錯
- 建立 .vscode\launch.json
- launch.json 撰寫內容:
.vscode/launch.json { // 使用 IntelliSense 以得知可用的屬性。 // 暫留以檢視現有屬性的描述。 // 如需詳細資訊,請瀏覽: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Launch Package", "type": "go", "request": "launch", "mode": "auto", "program": "${file}", "console": "integratedTerminal" } ] } - 即可於 VSCode 執行偵錯功能。
※備註:若更新 Golang 版本,可能導致 delve 版本不足,可使用 go install github.com/go-delve/delve/cmd/dlv@latest 將 delve 更新至最新版。
打包/部屬
在 Windows 上打包
- 一般:
go build -o <輸出檔案名稱>.exe <主要檔案> - 減少檔案大小:
go build -ldflags="-s -w" -o <輸出檔案名稱>.exe <主要檔案>-s:省略符號表。-w:省略調適信息。
- 進一步加殼壓縮:
- 下載並解壓縮 UPX
- 於解壓縮目錄使用指令
upx -9 <檔案>壓縮-9:最高壓縮率(1~9)
應用程式簽章
signtool sign /a /f mycert.pfx /fd sha256 /p <password> /tr http://timestamp.digicert.com /td sha256 <檔案名稱>
交叉編譯
環境設定
- 確定目前環境的 Golang 版本。
go version
- 確定目前環境的 Golang 支援的作業系統及架構。
go tool dist list
- 檢查目前環境變數。(可先記錄下來避免誤改)
go env
- 調整環境變數
GOOS及GOARCH。set GOOS=<作業系統>set GOARCH=<架構>
- 目標:
- Android:
- 確定目標環境:上網查詢或透過 adb 使用
adb shell getprop ro.product.cpu.abi查詢。 - 規劃環境變數:
set GOOS=android、set GOARCH=<架構>
如(SONY Xperia 1V):GOARCH=arm64 GOOS=android CGO_ENABLED=0 GOARM=8
- 確定目標環境:上網查詢或透過 adb 使用
- Android:
- 調整環境變數:
go env -w <環境變數名稱1>=<變數1> <環境變數名稱2>=<變數2> ...。
如:go env -w GOARCH=arm64 GOOS=android CGO_ENABLED=0 GOARM=8
- 打包/部屬
- 恢復環境變數:
go env -u <環境變數名稱1> <環境變數名稱2> ...。
如:go env -u GOARCH GOOS CGO_ENABLED GOARM
備註
在 Android 上 Termux 執行
- 將檔案存至 Android 裝置。(以下以內建儲存空間之
downloads資料夾為例) - 將檔案存放到 Termux 的
$PREFIX/bin資料夾。mv /sdcard/downloads/<檔案名稱> $PREFIX/bin/
- 設定檔案權限。
chmod +x $PREFIX/bin/<檔案名稱>
- 執行檔案。




