Go 是什么
why-use-go、环境、hello world、与 Java/Node 对照。
Go 是什么
这一课你将能做到
- 说清楚 Go 解决什么问题、适合哪些场景,以及它和 Java/Node 的核心区别
- 完成 Go 1.22+ 环境安装,用
go version命令验证成功 - 编写、运行、编译第一个 Go 程序,并逐行解释它的结构
为什么要学
Go(又名 Golang,因为官网域名是 golang.org)是 Google 在 2009 年开源的编译型语言。设计哲学很明确:在开发效率和运行性能之间取中点——写起来像 Python 一样简洁,跑起来接近 C 的速度。
Docker、Kubernetes、etcd、Prometheus、CockroachDB 全是 Go 写的;国内字节跳动、腾讯、B 站、七牛云的大量后端服务也在用 Go。如今 Go 已经是云原生领域事实上的标准语言。
三句话定位:
- 对比 Java:Go 编译后是一个自包含的二进制文件,不依赖 JVM,拷到服务器就能跑;语法只有 25 个关键字,没有继承、没有注解、没有异常。
- 对比 Python:静态类型 + 编译型,性能高出一到两个数量级,部署不用装解释器。
- 对比 Node.js:goroutine 是真正的并行执行,能吃满多核,而不是单线程事件循环。
对初学者还有一个隐藏好处:语法面极小、标准库统一,能把注意力逼到「解决问题」而不是「语言特性」上。
先建立图像
package main
import "fmt"
func main() {
fmt.Println("Hello, Go!")
}
终端运行:
$ go run hello.go
Hello, Go!
这个不到 10 行的文件,包含了 Go 程序的全部骨架:包声明 → 导入 → main 函数。以后写的每一个 Go 服务、每一个 CLI 工具,都是这个结构的放大版。
跟着做
步骤 1:安装 Go
- 打开 https://go.dev/dl/ (国内可用 https://golang.google.cn/dl/ ),下载对应操作系统的安装包,选 1.22 以上版本。
- Windows 双击
.msi,macOS 双击.pkg,Linux 解压到/usr/local并把/usr/local/go/bin加入PATH。 - 打开新终端验证:
$ go version
go version go1.22.5 windows/amd64
能看到版本号,安装就成功了。
步骤 2:配置国内模块代理(可选但强烈建议)
Go 下载第三方依赖默认访问国外服务器,国内经常超时。执行一次即可全局生效:
$ go env -w GOPROXY=https://goproxy.cn,direct
步骤 3:编辑器
VS Code 安装官方 Go 扩展(发布者 Go Team at Google),首次打开 .go 文件时右下角会提示安装工具链,全部同意即可。保存时自动格式化、报错即时提示,开箱即用。
步骤 4:写第一个程序
新建文件夹 hello,在其中创建 hello.go:
package main
import "fmt"
func main() {
fmt.Println("Hello, Go!")
}
逐行拆解: