跳至内容

Go 语言简介

Go(或 Golang)是 Google 开发的开源编程语言,于 2009 年正式发布,2012 年发布 1.0 稳定版。它以「简洁语法 + 原生并发 + 快速编译」见长,被广泛用于后端服务、微服务、云原生工具链等场景。

Go 语言的核心特点

天生支持并发

Go 从底层原生支持并发,无须第三方库,也无须开发者手工管理线程。并发模型基于 goroutine:一种由 Go 运行时调度的轻量「协程」,而非操作系统线程。

开启一个 goroutine 的初始栈大小约 2 KB,可以轻松创建数百万个而不耗尽资源。goroutine 的主要特点:

  1. 可增长的分段堆栈——只在需要时使用更多内存。
  2. 启动时间比线程快得多。
  3. 通过 channel 进行安全通信。
  4. 共享数据结构时无需互斥锁(使用 CSP 模型)。

语法简洁,学习曲线平缓

Go 去掉了 C/C++ 里多余的括号和复杂语法,循环只有 for 一种写法,就能覆盖 whiledo-while 等各种场景。go fmt 工具统一代码风格,消灭团队间因格式引发的争议。

开发效率与执行效率兼得

Go 编译为原生机器码,性能接近 C;同时保持了接近 Python 的开发速度——编译快、工具链完整、标准库丰富。

Go 适合做什么

  • 后端 / 微服务:高并发 API 服务、gRPC 接口
  • 分布式系统:消息队列、一致性协议实现
  • DevOps 工具链:Docker、Kubernetes、Terraform 均用 Go 编写
  • 网络编程:代理、网关、协议解析
  • 内存 KV 数据库:如 BoltDB、LevelDB
  • 云原生基础设施:Operator、CRD 控制器

常用 go 命令速查

命令说明
go env打印 Go 环境变量
go run <file>编译并运行源码文件(不生成二进制)
go build编译当前包或指定包,生成可执行文件
go install编译并将可执行文件安装到 $GOPATH/bin
go get下载并安装指定包及其依赖(模块模式下使用 go get ./...
go test运行测试用例
go fmt格式化代码
go vet静态检查常见错误
go doc <pkg>查看包文档
go clean删除编译产生的临时文件
go tool pprof交互式性能分析
最后更新于