Go 语言的交互式简介
- 第一节覆盖了基本语法及数据结构,
- 第二节讨论了方法与接口,
- 第三节则简单介绍了 Go 的并发原语。
每节末尾都有几个练习,你可以对自己的所学进行实践。 你可以 在线学习 或 安装到本地。
导航:Go编程语言中文目录
一开始,将学习关于语言的所有基础内容。
定义变量、调用函数、以及在你学习下一课之前所需要了解的全部内容。
-
1:包、变量和函数。 (学习 Go 程序的基本组件。)
- 1.1 包(packages)
- 1.2 导入(imports)
- 1.3 导出名(Exported names)
- 1.4 函数(Functions)
- 1.5 函数(续)(Functions continued)
- 1.6 命名返回值(Multiple results)
- 1.7 命名返回值(Multiple results)
- 1.8 变量(Variables)
- 1.9 初始化变量(Variables with initializers)
- 1.10 短声明变量(Short variable declarations)
- 1.11 基本类型(Basic types)
- 1.12 零值(Zero values)
- 1.13 类型转换(Type conversions)
- 1.14 类型推导(Type inference)
- 1.15 常量(Constants)
- 1.16 数值常量(Numeric Constants)
- 1.17 恭喜!(Congratulations!)
-
2:流程控制语句:for、if、else 、switch 和 defer。(学习如何用条件、循环、开关和推迟语句控制代码的流程。)
- 2.1 for
- 2.2 for(续)(For continued)
- 2.3 for 是 Go 的 “while”(For is Go's "while")
- 2.4 死循环(Forever)
- 2.5 if
- 2.6 if 的便捷语句(If with a short statement)
- 2.7 if 和 else(If and else)
- 2.8 练习:循环和函数(Exercise: Loops and Functions)
- 2.9 switch
- 2.10 switch 的执行顺序(Switch evaluation order)
- 2.11 没有条件的 switch(Switch with no condition)
- 2.12 defer(Defer)
- 2.13 defer 栈(Stacking defers)
- 2.14 恭喜!(Congratulations!)
-
3:复杂类型: struct、slice 和 map。(学习如何基于已有类型定义新的类型:本课涵盖了结构体、数组、slice 和 map。)
- 复杂类型: struct、slice 和 map。
- 3.01 指针(Pointers)
- 3.02 结构体(Structs)
- 3.04 结构体指针(pointers to structs)
- 03.05 结构体文法(Struct Fields)
- 03.06 数组(Arrays)
- 03.07 切片(Slices)
- 03.08 切片就像数组的引用(Silces are like references to arrays)
- 03.09 切片文法(Slice literals)
- 03.10 切片的默认行为(Slice defaults)
- 03.11 切片的长度与容量(Slice length and capacity)
- 03.12 nil 切片(Nil slices)
- 03.13 用 make 创建切片(Creating a slice with make)
- 03.14 切片的切片(Slices of slices)
- 03.15 向切片追加元素(Appending to a slice)
- 03.16 Range(Range)
- 03.17 range(续)(Range continued)
- 03.18 练习:切片(Exercise: Slices)
- 03.19 映射(Maps)
- 03.20 映射的文法(Map literals)
- 03.21 映射的文法(续)(Map literals continued)
- 03.22 修改映射(Mutating Maps)
- 03.23 练习:映射(Exercise: Maps)
- 03.24 函数值(Function values)
- 03.25 函数的闭包(Function closures)
- 03.26 练习:斐波纳契闭包(Exercise: Fibonacci closure)
- 03.27 恭喜!(Congratulations!)
学习如何为类型定义方法;如何定义接口;以及如何将所有内容贯通起来。
- 4:方法和接口
作为语言的核心部分,Go 提供了并发的特性。
这一部分概览了 goroutine 和 channel,以及如何使用它们来实现不同的并发模式。
- 5.并发。(Go 将并发作为语言的核心构成。本课将对其进行介绍,并提供了一些示例来展示如何使用它们。)