天天看點

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)