文章目录
- 前言
- 安装 Go 语言
- 编译器 Goland
- 运行 Go 程序
- 补充
前言
本系列教程,目的是帮助一个有其他编程基础的 Go 语言小白快速入门 Go 语言,而非启发式学习。每篇幅保证不说废话,尽可能精炼总结,为上手后续的 Go 相关项目打下基础。
系列相关代码同步 gitee 仓库:https://gitee.com/Cauchy_AQ/HelloGo
安装 Go 语言
官网 下载安装 Go 的二进制可执行文件。
msi 文件是微软的安装包程序,选择默认的 Go 开发包安装位置,一路安装即可。
安装完成后,可以在 cmd 中执行 go env
查看当前的环境变量,成功执行则代表 Go 安装成功。
编译器 Goland
官网 下载开发工具 Goland。
软件需要付费支持正版,也可以免费使用 30 天。
下载好后打开,创建本系列 HelloGo
的第一个项目 01-helloworld
:
GOROOT
:选择 Go 工具链的安装路径,Go 编译器会自动在该目录下查找。
上述安装 Go 后默认的 GOPATH 下包含三个重要目录:src
,pkg
,bin
。src
目录是用于存放 Go 语言源代码,pkg
目录是用于存放编译后的库文件,bin
目录是用于存放编译后的可执行文件。
虽然目前 Go 采用默认的 Go Modules 模式,而非 GOPATH 模式,但也可以选择将项目文件放在 src 目录下。
在设置中配置 GOPATH
,用于指定 Go 语言工作区的路径,这样在模块管理时会先去 $GOPATH/pkg
查找对应模块。
为使 Go 在后续拉取模块版本时能够直接通过镜像站点来快速拉取。还需修改 GOPROXY
,设置 Go 模块代理。
GOPROXY=https://goproxy.cn,direct
运行 Go 程序
上述创建新项目,配置完成后,打开 Goland 左下角的终端:
在此执行 go env
查看当前的环境变量:
可以看到 GOROOT
、GOPATH
、GOPROXY
都符合预期设置成功了,并且 GO111MODULE=on
表示开启 Go Modules 模式。
初始化项目完成后,会生成一个 go.mod
文件,它描述了当前项目(模块)的元信息,是启用了 Go modules 项目最重要的标识。
现在创建第一个 Go 程序,新建一个 main.go 文件:
package main // 声明 main 包,表明当前是一个可执行程序
import "fmt" // 导入内置 fmt 包
func main() {
fmt.Println("Hello Golang!")
}
执行:go run main.go
也可执行程序,该命令会将文件编译后在临时目录执行
编译:go build
将源代码编译成可执行文件
至此,第一个 Go 项目就成功运行了!
补充
统一GOPROXY
由于后续项目都需要一致的 Go 模块代理,所以可以进行统一设置,并不需要每次创建新项目都进行设置。打开 cmd,执行下述语句。
go env -w GOPROXY=https://goproxy.cn,direct
跨平台编译
上述在执行 go build
后,自动生成了 exe 文件。这是由于 go env
中 set GOOS=windows
生成对应平台下的执行文件。
如果想要在 Windows 平台编译 Linux 可执行文件,只需要在编译时指定目标操作系统和处理器架构即可。
在 cmd 下临时指定相应环境变量,并在同一 cmd 下进入项目目录下执行 go build
:
set CGO_ENABLED=0 // 禁用CGO
set GOOS=linux // 目标操作系统 Linux
set GOARCH=amd64 // 目标处理器架构 amd64 (linux:uname -m 查看处理器架构)