在編譯Golang程序前,需先安裝Golang編譯器。有兩種常見方式:
sudo apt update
sudo apt install golang-go
sudo apt update
sudo apt install -y git gcc make
克隆Go官方源碼倉庫:git clone https://github.com/golang/go.git
cd go/src
設置環境變量(用于編譯Go本身):export GOROOT_BOOTSTRAP=$(pwd)/../..
export PATH=$GOROOT_BOOTSTRAP/bin:$PATH
編譯Go源碼:cd $GOROOT
./all.bash
編譯完成后,Go會安裝在$HOME/go
目錄(源碼編譯方式)或/usr/local/go
目錄(APT安裝方式)。無論通過哪種方式安裝,都需要配置環境變量以讓系統識別Golang命令:
編輯~/.bashrc
或~/.profile
文件,添加以下內容:
export PATH=$PATH:/usr/local/go/bin # 替換為源碼編譯的安裝路徑(如$HOME/go/bin)
export GOPATH=$HOME/go # 設置工作目錄(存放代碼和依賴)
export GOBIN=$GOPATH/bin # 設置二進制文件輸出目錄
export GO111MODULE=on # 啟用Go Modules(推薦,管理依賴)
使配置生效:
source ~/.bashrc # 或 source ~/.profile
驗證安裝:
go version
若輸出類似go version go1.21.0 linux/amd64
,則說明安裝成功。
創建項目目錄(推薦使用Go Modules管理依賴):
mkdir -p $GOPATH/src/myproject
cd $GOPATH/src/myproject
初始化Go模塊(生成go.mod
文件,記錄依賴信息):
go mod init myproject
創建main.go
文件,編寫示例程序:
package main
import "fmt"
func main() {
fmt.Println("Hello, Ubuntu Golang!")
}
編譯單個文件:
在main.go
所在目錄運行:
go build main.go
生成的可執行文件默認命名為main
(Windows下為main.exe
)。
編譯整個項目:
在項目根目錄(含go.mod
文件)運行:
go build
會自動編譯項目中的所有依賴,并生成可執行文件。
交叉編譯(為其他平臺編譯):
例如,為Linux 64位系統編譯(無需CGO):
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o myproject-linux
生成的myproject-linux
可在Linux服務器上運行。
若使用go build
生成可執行文件,直接運行:
./main # 或 ./myproject-linux(交叉編譯后的文件)
輸出:Hello, Ubuntu Golang!
若使用go run
直接運行(無需生成可執行文件):
go run main.go
效果與go build
后運行一致。
若項目需要第三方庫,可通過go get
命令下載并添加到go.mod
文件:
go get github.com/gin-gonic/gin # 示例:下載Gin框架
之后運行go build
或go run
時,Golang會自動處理依賴關系。
以上流程覆蓋了Golang在Ubuntu上的完整編譯過程,從環境準備到程序運行,適用于大多數開發場景。