1. 判断
1.1. if-else 语句
1.1.1. 语法
1 | // 形式一 |
{ }
是必要的,即使只有一条语句- statement 可选,该组件在条件判断之前运行,作用域也在 if-else 代码块
- else 语句应该在 if 语句的大括号 } 之后的同一行中。如果不是,编译器会不通过
1.2. switch 语句
1.2.1. 语法
1 | // 形式一 |
case
可包含多个表达,用逗号分隔case
不允许出现重复项,否则编译器会不通过default
不一定只能出现在 switch 语句的最后,它可以放在 switch 语句的任何地方- 与 if-else 声明形式二一样,可以在首行可选 statement
- 表达式被省略,则表示这个 switch 语句等同于 switch true,true 值会和每一个
case
的求值结果进行匹配,相应的代码块也会被执行
1.2.2. Fallthrough 语句
每执行完一个 case
后,会直接从 switch 语句中跳出,使用 fallthrough
语句可以在已经执行完成的 case
之后,把控制权转移到下一个 case
的执行代码中。fallthrough
语句应该是 case
子句的最后一个语句。如果它出现在了 case
语句的中间,编译器将会报错。
1 | func number() int { |
2. 循环
2.1. 语法
1 | for initialisation; condition; post { // 三者都可以省略 |
- 循环初始化,初始化语句只执行一次
- 之后检查循环条件,如果条件的计算结果为 true ,则 {} 内的循环体将执行
- post 语句将在每次成功循环迭代后执行,在执行 post 语句后,条件将被再次检查。如果为 true, 则循环将继续执行,否则循环终止
2.2. 注
for{ }
将无限循环break
,跳出循环continue
,跳出循环中当前循环