天天看点

go学习笔记 控制结构:if、for、switch

if语句

i := 10
    if i > 10 {
        fmt.Println("1")
    } else if i > 5 && i <= 10 {
        fmt.Println("3")
    } else {
        fmt.Println("2")
    }
    // if 后面加分号
    if i:=6; i >10 {
        fmt.Println("i>10")
    } else if  i>5 && i<=10 {
        fmt.Println("5<i<=10")
    } else {
        fmt.Println("i<=5")
    }
           

switch语句

// 简单初始化
    switch i := 6; {
    case i > 10:
        fmt.Println("i>10")
    case i > 5 && i <= 10:
        fmt.Println("2")
    default:
        fmt.Println("3")
    }
           

** fallthrouth **

Go 语言的 switch 在默认情况下,case 最后自带 break

的确需要执行下一个紧跟的 case 怎么办呢?Go 语言也考虑到了,提供了 fallthrough 关键字

// fallthrouth
    // 此处的j是int型,case后边的就必须是 int型
    switch j := 1; j {
    case 1:
        fallthrough 
    case 2:
        fmt.Println("1")
    default:
        fmt.Println("没有匹配")
    }
           

switch后直接跟一个表达式

switch 2>1 {
    case true:
        fmt.Println("2>1")
    case false:
        fmt.Println("2<=1")

    }
           

for 循环语句

基本for循环

//基本for循环
    sum := 0
    for i := 1; i < 10; i++ {
        sum += i
    }
    fmt.Println(sum)
           

while循环,在 Go 语言中没有 while 循环

// while循环
    sum := 0
    i := 1
    for i <= 100 {
        sum += i
        i++
    }
    fmt.Println(sum)
           

break continue

// break continue
    sum := 0
    i := 1
    for {
        sum += i
        i++
        if i > 100 {
            break
        }
    }
    fmt.Println(sum)