Golang 安装与配置
一、Go 语言简介
1. 语言概述
Go 是一种静态强类型、编译型语言,语法与 C 相近。
2. 功能支持
- 垃圾回收(GC)
- 结构形态
- CSP 风格并发计算
3. 语言特点
- 大厂背书
- 天生支持并发
- 语法简单,容易上手
- 内置 runtime,支持垃圾回收
- 可直接编译成机器码,不依赖其他库
- 丰富的标准库
- 跨平台编译
4. 应用领域
- 服务器编程
- 云平台开发
- 区块链
- 分布式系统
- 网络编程
5. 撰写风格
Go 有内置的 gofmt 工具,能够自动格式化代码(整理多余空白、变量名称对齐、将对齐空格转换为 tab 等)。
- 每行程序结束不需要写分号(;)(C/C++ 行末需以分号结尾)
- 大括号({)不能换行放置(C/C++ 支持换行放置)
- if 判断式和 for 循环不需要以小括号包裹(C/C++ 的 if 和 for 语句需用小括号包裹)
6. 编译器
- gc:官方编译器,初期由 C 写成,后用 Go 重写实现自举;支持跨平台编译,不支持 CGO,可将源代码编译为目标系统、架构的二进制文件
- gccgo:使用标准 gcc 作为后端的 Go 编译器
二、安装与配置
1. 下载
官网地址:https://golang.google.cn/
2. 安装步骤
(1)Windows 安装
按提示步骤安装即可。
(2)Linux 安装
Go 代码支持跨平台编译,安装步骤如下:
- 解压安装包并创建软链接
tar -xvf go1.19.1.linux-amd64.tar.gz # 解压到当前目录,得到 go 文件夹
ln -s /usr/local/go1.19.1 /usr/local/go # 假设解压到 /usr/local,创建软链接方便版本管理
- 配置环境变量(编辑 /etc/profile)
[root@yingzai local]$ vim /etc/profile
# 在文件中添加以下内容
GO_HOME=/usr/local/go
export PATH=$PATH:$GO_HOME/bin
# 使生效
[root@yingzai local]$ source /etc/profile
3. 安装验证
go version
4. 环境变量配置
(1)模块管理与代理设置
# 启用 go mod 管理库并设置代理
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct
(2)GOROOT 与 GOPATH
- GOROOT:Go 的安装目录
- GOPATH:Go 依赖库的存放路径
5. 跨平台交叉编译
交叉编译不支持 CGO,需禁用 CGO,主要通过设置环境变量指定目标平台:
-
环境变量说明
- CGO_ENABLED:是否启用 CGO,交叉编译需设为 0
- GOOS:目标平台操作系统(如 darwin、freebsd、linux、windows)
- GOARCH:目标平台体系架构(如 386、amd64、arm)
-
编译命令示例
# Windows 上编译 Linux 可执行文件 set CGO_ENABLED=0 set GOOS=linux set GOARCH=amd64 go build # 生成 Linux 平台的二进制文件 # Linux 下编译 Windows 可执行文件 export CGO_ENABLED=0 export GOOS=windows export GOARCH=amd64 go build # 生成 Windows 平台的 .exe 文件(注:Windows 用 set 命令,Linux 用 export 命令设置环境变量)
三、开发工具
常用开发工具为 GoLand 和 VS Code,均支持 AI 编程助手;不建议使用 VIM 等工具,效率较低。
1. GoLand
- 优势:功能完善,智能提示精准,是体验最好的 Go 开发工具。
2. VS Code
- 不足:智能提示不够全面,第三方智能提示存在严重延迟,影响开发效率。
四、项目编写方法
1. 代码组织方式
Go 使用包(package)和模块(module)组织代码:
- 包:对应文件系统中的文件夹,一个包可包含多个模块或子包
- 模块:即 .go 源文件
2. 项目管理工具
- gopath:早期工具,使用不便且易出错
- gomod:从 Go v1.11 开始推荐使用,功能完善
- govendor:已弃用
3. 实现步骤
- 创建项目
- 项目初始化
- 创建包
- 创建模块
- 相互调用