循环
只有 for 语句, 无需括号, 大括号必须
初始化变量仅在 {} 中有效
1 | // 初始化, 循环执行前进行是否执行判断; 本次循环结束后执行语句 |
条件
if 语句, 无需括号, 大括号必须
初始化变量在 if, else
1 | if cond {} else {} |
练习: 计算开根号
1 | func Sqrt(x float64) float64 { |
条件
switch 语句, 无需 break, 从上至下惰性执行(后面的条件不再判断)
case 值可以是静态的, 也可以是表达式或者函数返回值
1 | switch init; var { |
Defer 函数退出时执行
defer 在 return 的时候执行, 但是 defer 语句的参数为声明时立即获取, 而非等 return 执行时再获取变量
多个 defer 使用堆栈管理, return 时后进先出
一般用于资源的释放
1 | func main() { |