Go语言简介
Go语言(也称 Golang)是 Google 在 2007 年开发,2009 年正式发布的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。
为什么选择 Go?
- 简洁的语法:没有复杂的特性,学习曲线平缓
- 高效的编译:编译速度极快,秒级完成
- 并发支持:goroutine 和 channel 让并发编程变得简单安全
- 丰富的标准库:内置 HTTP 服务、JSON 解析、加密等
- 静态类型:编译时发现类型错误,代码更健壮
- 跨平台:Windows、Linux、macOS 一键交叉编译
Go 的历史
| 年份 | 里程碑 |
|---|---|
| 2007 | Robert Griesemer、Rob Pike、Ken Thompson 开始设计 |
| 2009 | 正式对外发布 |
| 2012 | Go 1.0 发布 |
| 2024 | Go 1.22 发布,完善泛型特性 |
安装 Go
# Linux
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc
# 验证安装
go version
第一个程序
package main
import "fmt"
func main() {
fmt.Println("Hello, BookStack!")
}
运行:
go run main.go
核心特性速览
变量声明
// 多种声明方式
var name string = "Go"
var version = 1.22
count := 100 // 简短声明(最常用)
函数
// 多返回值
func divide(a, b int) (int, error) {
if b == 0 {
return 0, fmt.Errorf("除数不能为0")
}
return a / b, nil
}
错误处理
result, err := divide(10, 0)
if err != nil {
fmt.Println("出错了:", err)
return
}
应用场景
- Web 服务:REST API、微服务
- 云原生工具:Docker、Kubernetes 都是 Go 写的
- CLI 工具:跨平台命令行工具
- 网络编程:高性能代理和中间件
- DevOps:CI/CD 工具链
