跳到主要内容

01 认识 Go 语言

本节没有代码,5 分钟读完,让你知道自己要学的是个什么东西、为什么值得学。

Go 是什么?

Go(也叫 Golang)是 Google 在 2009 年发布的一门开源编程语言,由 Robert Griesemer、Rob Pike 和 Ken Thompson(C 语言和 Unix 的作者之一)设计。

用一句话概括 Go 的特点:

像 Python 一样好写,像 C 一样快跑。

为什么要学 Go?

1. 简单,真的简单

Go 的关键字只有 25 个(Java 有 50+,C++ 有 90+)。语言设计者刻意做减法:没有类继承、没有复杂的语法糖、一种循环写法、一种代码格式。这意味着:

  • 学习曲线平缓,新手一两周就能写出能用的程序
  • 别人的代码你基本都能看懂,因为大家写出来的 Go 都长得差不多

2. 性能好

Go 是编译型语言,代码直接编译成机器码运行,速度接近 C/C++,远快于 Python、Ruby 等解释型语言。

3. 并发是亲儿子

其他语言里"多线程编程"是高级话题,在 Go 里开一个并发任务只需要一个关键字 go

go doSomething() // 这行代码就开启了一个并发任务

这是 Go 最出名的能力,我们会在第五章详细学习。

4. 部署极其方便

Go 编译产物是一个独立的可执行文件,不依赖任何运行时环境。把这个文件拷到服务器上直接就能跑——不需要装解释器、不需要装虚拟机、不需要装一堆依赖。

5. 就业市场需求大

Go 是云计算和后端领域的主流语言。这些知名项目都是 Go 写的:

  • Docker(容器)
  • Kubernetes(容器编排,云原生的基石)
  • etcd(分布式存储)
  • 国内大量互联网公司(字节跳动、腾讯、B 站、七牛等)的后端服务

Go 适合做什么?

领域说明
后端服务 / Web APIGo 最主流的用途
云原生 / 基础设施Docker、K8s 生态几乎全是 Go
命令行工具编译成单文件,分发方便
网络编程 / 中间件消息队列、代理、网关等
微服务天生适合

Go 不太适合做什么:桌面 GUI 应用、移动 App(虽然能做但不是主流选择)、对延迟极端敏感的场景(如高频交易,因为 Go 有垃圾回收)。

Go 代码长什么样?

先睹为快(现在看不懂完全没关系):

package main

import "fmt"

func main() {
for i := 1; i <= 3; i++ {
fmt.Println("第", i, "次说:你好,Go!")
}
}

运行结果:

第 1 次说:你好,Go!
第 2 次说:你好,Go!
第 3 次说:你好,Go!

是不是看起来还挺清爽的?

新手常见疑问

Q:我没学过其他编程语言,能直接学 Go 吗? 可以。Go 语法简单,是不错的第一门语言。本教程也是按零基础的节奏写的。

Q:Go 和 Golang 是两个东西吗? 是同一个东西。官方名字是 Go,但因为 "Go" 这个词太常见不好搜索,大家习惯用 "Golang"(来源于官网域名 golang.org)作为搜索关键词。

Q:需要多好的电脑? 普通电脑即可。Go 的编译器非常快,对硬件没什么要求。


小结

  • Go 是一门简单、快速、擅长并发、部署方便的编译型语言
  • 主要用于后端服务、云原生、命令行工具
  • 语法极简,非常适合新手入门

下一节我们就把 Go 环境装起来:02 安装 Go 开发环境