在Ubuntu上高效编译Golang项目,可以按照以下步骤进行:
wget
命令下载并解压到指定目录,例如/usr/local
。wget https://golang.google.cn/dl/go1.18.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.18.linux-amd64.tar.gz
~/.profile
或~/.bashrc
文件,添加以下内容:export PATH=$PATH:/usr/local/go/bin export GOROOT=/usr/local/go export GOPATH=$HOME/go export GOBIN=$GOPATH/bin
source ~/.profile
mkdir -p $GOPATH/src/myproject cd $GOPATH/src/myproject
在项目目录下创建main.go
文件,并编写简单的Go程序:
package main import "fmt" func main() { fmt.Println("Hello, World!") }
使用go build
命令编译项目:
go build
这将生成一个名为main
的可执行文件,可以在项目目录下直接运行:
./main
从Go 1.11开始,Go引入了模块支持,可以更方便地管理依赖。在项目目录下初始化模块:
go mod init myproject
添加依赖并编译:
go get -u go build
sudo apt-get install docker.io
在项目根目录下创建Dockerfile
,并添加以下内容:
# 使用官方Go镜像作为基础镜像 FROM golang:1.18 # 设置工作目录 WORKDIR /app # 复制go.mod和go.sum文件 COPY go.mod go.sum ./ # 下载所有依赖 RUN go mod download # 复制项目文件 COPY . . # 编译项目 RUN go build -o myapp . # 暴露应用端口 EXPOSE 8080 # 运行应用 CMD ["./myapp"]
docker build -t myapp .
docker run -p 8080:8080 myapp
通过以上步骤,你可以在Ubuntu上高效地编译和运行Golang项目。如果需要更高级的开发体验,可以考虑使用集成开发环境(IDE)如GoLand,或者使用Docker进行容器化部署。