4 流程控制
文章目录
- Go没有do- while,因此for有更广泛的含义与用途
- switch也有一些扩展,支持类型判断和初始化子语句
- 三个特殊关键字
- defer捕获异常和资源回收等工作;
- select多分支选择(配合通道使用)
- go 异步启动 goroutine并执行特定函数
4.1条件语句
- 一对大括号中的代码称为一个代码块,
- 如一个函数,
- 一个if语句都是一个代码块,
- 每个代码块内部可有自己的局部变量
- 源代码文件(.go)就是一个代码块,
- 一个代码包也是一个代码块,
- 整个项目的代码都是一个代码块
- 代码块是互相包含的关系,
- 本章的流程控制语句中的if、for、 switch和 select等语句括起来的代码也是代码块,
- 甚至更小的:
- 每一个case分支都是一个代码块
- 要解释代码块,是为了方便理解作用域,
- Go中的预定义标识符作用域是整个项目
- 源代码文件中定义的实体(常量、变量、类型)作用域就是当前代码块(包导入可扩大作用域)
- 函数之中定义的实体(常量、变量、类型等)作用域就是函数所在的代码块。
4.1.1 if判断
- a值为1