go入门(三)流程控制 2018-07-19

2018-07-19  本文已影响0人  Yao_oaY

流程控制语句

流控制关键字 for/if/else/switch/defer

for

go中的唯一循环结构,不能有括号,循环体包含在{}中

- for循环条件不加()
- for循环条件中的前置和后置语句可以为空
- for也是go里边的while

if

便携语句: if可以在条件之前执行一个简单的语句,且只能有一句; 便携语句中定义的变量只能在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关键字修饰的语句会延迟执行,直到所在函数返回

延迟的函数调用被压入一个栈中,所在函数返回时,按照后进先出的规则进行处理

上一篇 下一篇

猜你喜欢

热点阅读