流程控制語句
流控制關鍵字 for/if/else/switch/defer
for
go中的唯一循環(huán)結構侣颂,不能有括號,循環(huán)體包含在{}中
- for循環(huán)條件不加()
- for循環(huán)條件中的前置和后置語句可以為空
- for也是go里邊的while
if
便攜語句: if可以在條件之前執(zhí)行一個簡單的語句馆蠕,且只能有一句度秘; 便攜語句中定義的變量只能在if else對應的語句塊中使用
switch
if-else的簡寫形式
package main
import (
"fmt"
"time"
)
func main() {
fmt.Println("When is Saturday?")
today := time.Now().Weekday()
switch time.Saturday {
case today + 0:
fmt.Println("Today.")
case today + 1:
fmt.Println("Tomorrow.")
case today + 2:
fmt.Println("In two days.")
default:
fmt.Println("Too far away.")
}
}
defer
defer關鍵字修飾的語句會延遲執(zhí)行,直到所在函數(shù)返回
延遲的函數(shù)調用被壓入一個棧中,所在函數(shù)返回時碰声,按照后進先出的規(guī)則進行處理