Go 语言简介
Go 是什么
Go(又称 Golang)是 Google 于 2009 年 正式发布的一门开源编程语言,由 Robert Griesemer、Rob Pike 和 Ken Thompson 设计。
它诞生的背景是:多核处理器普及、大型软件项目变复杂,而当时的 C/C++/Java 写起来繁琐、编译慢、并发难。Go 的目标就是简单、高效、并发能力强。
设计理念
- 简单易学:关键字只有 25 个,语法接近 C,但去掉了类、继承、泛型(1.18 之前)等复杂特性。
- 编译型语言:直接编译成机器码,运行速度快,不依赖虚拟机。
- 原生并发:语言层面提供 goroutine 与 channel,写并发程序像写普通代码一样简单。
- 自带垃圾回收:不需要手动管理内存。
- 工具链完善:go fmt、go test、go mod 等官方工具开箱即用。
主要特点
- 编译快,部署简单——编译产物是单个可执行文件。
- 静态类型 + 类型推断,兼顾安全与简洁。
- 跨平台:同一份代码可交叉编译到 Linux、Windows、macOS 等。
- 标准库强大,尤其是网络与 HTTP 方面。
- 代码风格强制统一(gofmt),团队协作无格式之争。
适合的场景
- 云原生与微服务:Docker、Kubernetes 均用 Go 编写。
- 高并发网络服务:网关、消息队列、即时通讯后端。
- 命令行工具与运维脚本。
- 区块链、数据库等基础软件。
与其他语言对比简表
| 语言 | 类型 | 执行方式 | 并发 | 上手难度 | 典型场景 |
|---|---|---|---|---|---|
| Go | 静态 | 编译 | 极佳(goroutine) | 低 | 后端服务、云原生 |
| C | 静态 | 编译 | 需手动管理 | 高 | 系统底层 |
| Java | 静态 | 虚拟机 | 好(线程池) | 中 | 企业级应用 |
| Python | 动态 | 解释 | 较弱(GIL) | 很低 | 脚本、人工智能 |
| Rust | 静态 | 编译 | 好 | 很高 | 系统软件 |
入门示例
下面是一个最小的 Go 程序,先感受一下它的样子:
package main
import "fmt"
func main() {
fmt.Println("你好,Go!")
}
运行方式:
go run hello.go
输出:
你好,Go!
小结
Go 是一门为「现代服务端开发」而生的语言:语法简单、并发强大、性能出色。下一节我们来搭建开发环境,亲手运行第一个程序。