Golang在Ubuntu上编译流程是什么
导读:Golang在Ubuntu上的编译流程 1. 准备工作:安装Golang环境 在编译Golang程序前,需先安装Golang编译器。有两种常见方式: 通过APT包管理器安装(快速,适合大多数场景): 运行以下命令更新包列表并安装Golan...
Golang在Ubuntu上的编译流程
1. 准备工作:安装Golang环境
在编译Golang程序前,需先安装Golang编译器。有两种常见方式:
- 通过APT包管理器安装(快速,适合大多数场景):
运行以下命令更新包列表并安装Golang:sudo apt update sudo apt install golang-go
- 从源码编译安装(适合需要特定版本或自定义的场景):
先安装依赖项(Git、GCC、Make):
克隆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
$HOME/go
目录(源码编译方式)或/usr/local/go
目录(APT安装方式)。
2. 配置环境变量
无论通过哪种方式安装,都需要配置环境变量以让系统识别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
,则说明安装成功。
3. 编写Golang程序
创建项目目录(推荐使用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!")
}
4. 编译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服务器上运行。
5. 运行编译后的程序
-
若使用
go build
生成可执行文件,直接运行:./main # 或 ./myproject-linux(交叉编译后的文件)
输出:
Hello, Ubuntu Golang!
-
若使用
go run
直接运行(无需生成可执行文件):go run main.go
效果与
go build
后运行一致。
6. 可选:使用Go Modules管理依赖
若项目需要第三方库,可通过go get
命令下载并添加到go.mod
文件:
go get github.com/gin-gonic/gin # 示例:下载Gin框架
之后运行go build
或go run
时,Golang会自动处理依赖关系。
以上流程覆盖了Golang在Ubuntu上的完整编译过程,从环境准备到程序运行,适用于大多数开发场景。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Golang在Ubuntu上编译流程是什么
本文地址: https://pptw.com/jishu/715690.html