go语言流程控制

if语句

package main

import (
    "fmt"
)

func main() {
    age := 19
    if age > 18 {
        fmt.Println("成年")
    } else if age > 35 {
        fmt.Println("青年")
    } else {
        fmt.Println("未成年")
    }
    
}

作用域

package main

import (
    "fmt"
)

func main() {
    //作用于 age变量只在if条件判断语句中生效
    if age := 19; age > 19 {
        fmt.Println("成年")
    } else {
        fmt.Println("未成年")
    }

}

for循环

package main

import "fmt"

func main() {
    //基本格式
    // for i := 0; i < 10; i++ {
    //     fmt.Println(i)
    // }

    //变种1
    // var i = 5
    // for ; i < 10; i++ {
    //     fmt.Println(i)
    // }

    // 变种2
    // var i = 5
    // for i < 10 {
    //     fmt.Println(i)
    //     i++
    // }
    //无线循环
    // for {
    //     fmt.Println("123")
    // }

    //for range循环
    _ = 1
    s := "hello "
    for i, v := range s {
        fmt.Printf("%d %c\n", i, v)
    }
}

switch

package main

import "fmt"

func main() {
    //switch 默认情况下 case 最后自带 break 语句,匹配成功后就不会执行其他 case,如果我们需要执行后面的 case,可以使用 fallthrough(不鼓励)
    switch n := 3; n {
    case 1:
        fmt.Println(1)
    case 2:
        fmt.Println(2)
    case 3:
        fmt.Println(3)
    default:
        fmt.Println(666)
    }
}

goto

package main

import "fmt"

func main() {
    //goto + label实现跳出多层for循环
    for i := 0; i < 10; i++ {
        for j := 'A'; j < 'Z'; j++ {
            if j == 'C' {
                //如果用break只能跳出一次循环
                goto XX
            }
            fmt.Printf("%v-%c\n", i, j)
        }
    }
XX: //label标签
    fmt.Println("over")
}
Last modification:April 22, 2022
如果觉得我的文章对你有用,请随意赞赏