在有返回值的函数中,不允许将最终的 return 语句包含在 if ... else ... 结构中
2. 选择语句
1 2 3 4 5 6 7 8 9 10 11 12 13 14
switch a { case0: fallthrough case1: fmt.Println(">= 0 and <2") case2: fallthrough case3: fallthrough case4: fmt.Println(">=2 and < 5") default: fmt.Println("< 0 or >= 5") }
switch 后的表达式不限制为常量或整数
单个 case 中可以出现多个结果选项
Go 语句不需要使用 break 来明确退出一个 case;相反,只有在 case 中明确添加 fallthrough 关键字,才会继续执行紧跟的下一个 case
可以不设定 switch 后的表达式,在这种情况下,整个 switch 结构与多个 if ... else ... 的逻辑作用相同
1 2 3 4 5 6 7 8
switch { case0 <= a && a < 2: fmt.Println(">= 0 and <2") case2 <= a && a < 5: fmt.Println(">=2 and < 5") case5 < a || a < 0: fmt.Println("< 0 or >= 5") }
3. 循环语句
Go 语句并不支持 C 语言中的 while 和 do-while 语句,只支持 for 语句。
3.1 for 第一种格式
for 语句第一个格式如下:
1 2 3
for initialization; condition; post { // zero or more statements }