for
Go 只有一种循环结构:for 循环。基本的 for 循环由三部分组成,用分号隔开:
- 初始化语句:在第一次迭代前执行
- 条件表达式:在每次迭代前求值
- 后置语句:在每次迭代的结尾执行
初始化语句通常为一句短变量声明,该变量声明仅在 for 语句的作用域中可见。Go 的 for 语句后面没有小括号,大括号 { } 则是必须的。
|
|
if else
|
|
Go 的 if 语句与 for 循环类似,表达式外无需小括号 ( ) ,而大括号 { } 则是必须的。
switch
|
|
如果在执行完每个分支的代码后,还希望继续执行后续分支的代码,可以使用 fallthrough 关键字来达到目的。。switch 的 case 语句从上到下顺次执行,直到匹配成功时停止。
没有条件的 switch 同 switch true 一样,这种形式能将一长串 if-then-else 写得更加清晰
defer
defer 语句会将函数推迟到外层函数返回之后执行,通常用于释放资源或错误处理。推迟调用的函数其参数会立即求值,但直到外层函数返回前该函数都不会被调用。推迟的函数调用会被压入一个栈中。 当外层函数返回时,被推迟的函数会按照后进先出的顺序调用。
|
|
Break 与 continue
- break 语句的作用结果是跳过整个代码块,执行后续的代码。
- continue 跳过本次循环的语句而直接进入下一次循环的过程。
- 关键字 break 可用于 for、switch、select 语句中,关键字 continue 仅能用于 for 循环中。