Go 第2.1章 开发环境准备-从零开始搭建Go语言开发环境 Go 第2.1章 开发环境准备-从零开始搭建Go语言开发环境

2023-09-18

一、下载

Go 语言 1.14 版本之后推荐使用 go modules 管理依赖,也不再需要把代码写在 GOPATH 目录下了

1.1、下载地址

Go官网下载地址:https://golang.org/dl/

Go官方镜像站(推荐):https://golang.google.cn/dl/

1.2、版本的选择

Windows 平台和 Mac 平台推荐下载可执行文件版,Linux平台下载压缩文件版。

下图中的版本号可能并不是最新的,但总体来说安装教程是类似的。Go 语言更新迭代比较快,推荐使用较新版本,体验最新特性。

https://cyfb.lulublog.cn/images/3/2025/12/l0HieeHEkeHe5597cSC9iIIC1eHef0.jpg

二、安装

2.1、Windows 安装

此安装实例以 64 位 Win11 系统安装 Go1.25.5 可执行文件版本为例。

将上一步选好的安装包下载到本地。

https://cyfb.lulublog.cn/images/3/2025/12/Bkq7OIkzfOpp0bnbpP5IuYuQPTb5tY.png

双击下载好的文件,然后按照下图的步骤安装即可。

https://cyfb.lulublog.cn/images/3/2025/12/oO4zOFlllF0GFzxDF6g6V4ue1KVf41.jpg

https://cyfb.lulublog.cn/images/3/2025/12/hV272222h7h7MY72mqUZuBQuO7SVYg.jpg

https://cyfb.lulublog.cn/images/3/2025/12/mL0X0h66zz3y0SlrTtvRl2y7LRYfr3.jpg

https://cyfb.lulublog.cn/images/3/2025/12/HXORBO2bWx2b8O8xRwFSrukzWoZr88.jpg

https://cyfb.lulublog.cn/images/3/2025/12/o34fJidODMjdFJjIMI6VXUXjx9fxfD.jpg

2.2、Linux 下安装

如果不是要在 Linux 平台敲 go 代码就不需要在 Linux 平台安装 Go,我们开发机上写好的 go 代码只需要跨平台编译(详见文章末尾的跨平台编译)好之后就可以拷贝到 Linux 服务器上运行了,这也是 go 程序跨平台易部署的优势。

我们在版本选择页面选择并下载好 go1.25.5.linux-amd64.tar.gz 文件:

wget https://dl.google.com/go/go1.25.5.linux-amd64.tar.gz

将下载好的文件解压到 /usr/local 目录下:

tar -zxvf go1.14.1.linux-amd64.tar.gz -C /usr/local  # 解压

如果提示没有权限,加上 sudo 以 root 用户的身份再运行。执行完就可以在 /usr/local/ 下看到 go 目录了。

配置环境变量: Linux 下有两个文件可以配置环境变量,其中 /etc/profile 是对所有用户生效的;$HOME/.profile 是对当前用户生效的,根据自己的情况自行选择一个文件打开,添加如下两行代码,保存退出。

export GOROOT=/usr/local/go 
export PATH=$PATH:$GOROOT/bin

修改 /etc/profile 后要重启生效,修改 $HOME/.profile 后使用 source 命令加载 $HOME/.profile 文件即可生效。 检查:

~ go version
go version go1.14.1 linux/amd64

2.3、Mac 下安装

下载可执行文件版,直接点击下一步安装即可,默认会将 go 安装到 /usr/local/go 目录下。

https://cyfb.lulublog.cn/images/3/2025/12/dKOKCFMaDYrmc3QfZmk4GYpob6cOGg.jpg

2.4、检查

上一步安装过程执行完毕后,可以打开终端窗口,输入 go version 命令,查看安装的 Go 版本。

https://cyfb.lulublog.cn/images/3/2025/12/FkvJzzC4lc4qjc0X4oWJV4jCcQvkXj.jpg

三、GOROOT 和 GOPATH

3.1、GOPATH

GOROOT 和 GOPATH 都是环境变量,其中 GOROOT 是我们安装 go 开发包的路径,而从 Go 1.8 版本开始,Go 开发包在安装完成后会为 GOPATH 设置一个默认目录,并且在 Go1.14 及之后的版本中启用了 Go Module 模式之后,不一定非要将代码写到 GOPATH 目录下,所以也就不需要我们再自己配置 GOPATH 了,使用默认的即可。

想要查看你电脑上的 GOPATH 路径,只需要打开终端输入以下命令并回车:

go env

在终端输出的内容中找到 GOPATH 对应的具体路径。

3.2、GOPROXY

Go1.14 版本之后,都推荐使用 go mod 模式来管理依赖环境了,也不再强制我们把代码必须写在 GOPATH 下面的 src 目录了,你可以在你电脑的任意位置编写 go 代码。(网上有些教程适用于 1.11 版本之前。)

默认 GoPROXY 配置是:GOPROXY=https://proxy.golang.org,direct,由于国内访问不到  https://proxy.golang.org,所以我们需要换一个  PROXY,这里推荐使用https://goproxy.io  或 https://goproxy.cn。

可以执行下面的命令修改 GOPROXY:

go env -w GOPROXY=https://goproxy.cn,direct

四、Go 开发编辑器

Go 采用的是 UTF-8 编码的文本文件存放源代码,理论上使用任何一款文本编辑器都可以做 Go 语言开发,这里推荐使用 VS Code 和 Goland。 

VS Code 是微软开源的编辑器,而 Goland 是 jetbrains 出品的付费 IDE。

4.1、VS Code【推荐】

VS Code 安装:https://lulublog.cn/p/nZM6y2

4.2、GoLand

打开 https://www.jetbrains.com/go,选择 Windows 版本进行下载安装

GoLand 破解和安装:https://lulublog.cn/p/Tj7tA2

五、第一个 Go 程序

5.1、Hello World

现在我们来创建第一个 Go 项目——hello。在 D 盘创建一个 GoProject 目录,在 GoProject 目录下新建 一个 hello 目录。

使用 go module 模式新建项目时,我们需要通过 go mod init 项目名命令对项目进行初始化,该命令会在项目根目录下生成 go.mod 文件。例如,我们使用 hello 作为我们第一个 Go 项目的名称,执行如下命令。

go mod init hello

接下来在该目录中创建一个 main.go 文件:

package main  // 声明 main 包,表明当前是一个可执行程序

import "fmt"  // 导入内置 fmt 包

func main(){  // main函数,是程序执行的入口
fmt.Println("Hello World!")  // 在终端打印 Hello World!
}

非常重要!!! 如果此时 VS Code 右下角弹出提示让你安装插件,务必点 install all 进行安装。

这一步需要先执行完上面提到的 go env -w GOPROXY=https://goproxy.cn,direct  命令配置好  GOPROXY。

5.2、编译

go build 命令表示将源代码编译成可执行文件。

在 hello 目录下执行:

go build

编译得到的可执行文件会保存在执行编译命令的当前目录下,如果是 Windows 平台会在当前目录下找到 hello.exe 可执行文件。

可在终端直接执行该 hello.exe 文件:

c:\desktop\hello>hello.exe
Hello World!

我们还可以使用 -o 参数来指定编译后得到的可执行文件的名字。

go build -o heiheihei.exe

5.3、go run

go run main.go 也可以执行程序,该命令本质上是先在临时目录编译程序然后再执行。

如果你不清楚上方关于 go run 执行机制的描述,那么你最好今后都使用 go build 编译再执行。

5.4、go install

go install 表示安装的意思,它先编译源代码得到可执行文件,然后将可执行文件移动到 GOPATH 的 bin 目录下。

因为我们把 GOPATH 下的 bin 目录添加到了环境变量中,所以我们就可以在任意地方直接执行可执行文件了。

5.5、跨平台编译

默认我们 go build 的可执行文件都是当前操作系统可执行的文件,Go 语言支持跨平台编译——在当前平台(例如 Windows)下编译其他平台(例如 Linux)的可执行文件。

5.5.1、Windows 编译 Linux 可执行文件

如果我想在 Windows 下编译一个 Linux 下可执行文件,那需要怎么做呢?只需要在编译时指定目标操作系统的平台和处理器架构即可。

注意:无论你在 Windows 电脑上使用 VsCode 编辑器还是 Goland 编辑器,都要注意你使用的终端类型,因为不同的终端下命令不一样!!!目前的 Windows 通常默认使用的是 PowerShell 终端。

如果你的 Windows 使用的是 cmd,那么按如下方式指定环境变量。

SET CGO_ENABLED=0  // 禁用CGO
SET GOOS=linux  // 目标平台是linux
SET GOARCH=amd64  // 目标处理器架构是amd64

如果你的 Windows 使用的是 PowerShell 终端,那么设置环境变量的语法为

$ENV:CGO_ENABLED=0
$ENV:GOOS="linux"
$ENV:GOARCH="amd64"

在你的 Windows 终端下执行完上述命令后,再执行下面的命令,得到的就是能够在 Linux 平台运行的可执行文件了。

go build

5.5.2、Windows 编译 Mac 可执行文件

Windows 下编译 Mac 平台 64 位可执行程序:

cmd 终端下执行:

SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build

PowerShell 终端下执行:

$ENV:CGO_ENABLED=0
$ENV:GOOS="darwin"
$ENV:GOARCH="amd64"
go build

5.5.3、Mac 编译 Linux 可执行文件

Mac 电脑编译得到 Linux 平台 64 位可执行程序:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build

5.5.4、Mac 编译 Windows 可执行文件

Mac 电脑编译得到 Windows 平台 64 位可执行程序:

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

5.5.5、Linux 编译 Mac 可执行文件

Linux 平台下编译 Mac 平台 64 位可执行程序:

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build

5.5.6、Linux 编译 Windows 可执行文件

Linux 平台下编译 Windows 平台 64 位可执行程序:

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
阅读 1809