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

流程控制语句

流控制关键字 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关键字修饰的语句会延迟执行,直到所在函数返回

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

    原文作者:Yao_oaY
    原文地址: https://www.jianshu.com/p/1e5c8ac2a0f1
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞