中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Go語言的循環語句如何使用

發布時間:2022-04-15 15:52:10 來源:億速云 閱讀:115 作者:iii 欄目:開發技術

這篇文章主要介紹“Go語言的循環語句如何使用”,在日常操作中,相信很多人在Go語言的循環語句如何使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Go語言的循環語句如何使用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

1、for循環

寫法基本和其他語言一致,只是沒有了while循環,用for代替while。

樣例代碼如下

// for循環
func loop1() {
    sum := 0
    for i := 0; i < 100; i++ {
        sum += i
    }
    fmt.Printf("sum = %d\n", sum)
 
    // 和while循環一樣
    sum1 := 3
    for sum1 <= 10 {
        sum1 += sum1
    }
    fmt.Printf("sum1 = %d\n", sum1)
}

執行結果

sum = 4950
sum1 = 12 

2、for-each語法

可以遍歷索引和值,和Python的enumrate類似。

樣例代碼如下

// for-each使用
func loop2() {
    strs := []string{"小王", "小明"}
    for i, str := range strs {
        fmt.Printf("%v今天第%d次去核酸\n", str, i)
    }
    nums := [6]int{1, 2, 4, 6}
    for i, num := range nums {
        fmt.Printf("%d - %d\n", i, num)
    }
}

執行結果

小王今天第0次去核酸  
小明今天第1次去核酸  
0 - 1                
1 - 2                
2 - 4                
3 - 6                
4 - 0                
5 - 0     

3、break的使用

和其他語言一樣,循環打斷關鍵字break。

樣例代碼如下

// break
func loop3() {
    var a int = 0
    var b int = 30
    for b > 0 {
        if a > 4 {
            break
        }
        a++
        b -= 3
    }
    fmt.Printf("a=%d,b=%d\n", a, b)
    var c int = 0
    var d int = 30
    for i := 0; i < 10; i++ {
        c++
        for j := 0; j < 10; j++ {
            if d < 0 {
                break
            }
            d--
        }
    }
    fmt.Printf("c=%d,d=%d\n", c, d)
    c = 0
    d = 30
loop1:
    for i := 0; i < 10; i++ {
        c++
        for j := 0; j < 10; j++ {
            if d < 0 {
                break loop1
            }
            d--
        }
    }
    fmt.Printf("c=%d,d=%d\n", c, d)
}

執行結果

a=5,b=15             
c=10,d=-1            
c=4,d=-1 

注意

1、和java一樣,在多重嵌套循環里面,如果不對循環做標識,break只會打斷最近的循環。

4、continue的使用

和break基本一致。

樣例代碼如下

// continue
func loop4() {
    var c int = 0
    var d int = 30
    for i := 0; i < 10; i++ {
        c++
        for j := 0; j < 10; j++ {
            d--
            if d < 0 {
                continue
            }
        }
    }
    fmt.Printf("c=%d,d=%d\n", c, d)
    c = 0
    d = 30
loop1:
    for i := 0; i < 10; i++ {
        c++
        for j := 0; j < 10; j++ {
            d--
            if d < 0 {
                continue loop1
            }
        }
    }
    fmt.Printf("c=%d,d=%d\n", c, d)
}

執行結果

c=10,d=-70           
c=10,d=-7  

5、goto的使用

goto是個有意思的關鍵字,可以無條件轉移到某一行,有點debug的味道。

樣例代碼如下

//goto
func loop5() {
    m := 0
loop1:
    for m < 20 {
        fmt.Printf("loop1 -> %d\n", m)
        if m > 3 {
            break loop1
        }
        i := 0
    loop2:
        for i < 10 {
            i++
            if i == 5 {
                goto loop2
            }
            fmt.Printf("loop2 -> %d\n", i)
        }
        m++
    }
 
}

執行結果

loop1 -> 0           
loop2 -> 1           
loop2 -> 2           
loop2 -> 3           
loop2 -> 4           
loop2 -> 6           
loop2 -> 7
loop2 -> 8
loop2 -> 9
loop2 -> 10
loop1 -> 1
loop2 -> 1
loop2 -> 2
loop2 -> 3
loop2 -> 4
loop2 -> 6
loop2 -> 7
loop2 -> 8
loop2 -> 9
loop2 -> 10
loop1 -> 2
loop2 -> 1
loop2 -> 2
loop2 -> 3
loop2 -> 4
loop2 -> 6
loop2 -> 7
loop2 -> 8
loop2 -> 9
loop2 -> 10
loop1 -> 3
loop2 -> 1
loop2 -> 2
loop2 -> 3
loop2 -> 4
loop2 -> 6
loop2 -> 7
loop2 -> 8
loop2 -> 9
loop2 -> 10
loop1 -> 4

注意

自己在測試的時候還是碰到點死循環的問題,要很好理解才能使用,不然比較容易死循環。

到此,關于“Go語言的循環語句如何使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

三河市| 阿巴嘎旗| 武胜县| 二连浩特市| 安福县| 普陀区| 西藏| 兴安县| 辽阳市| 贡觉县| 定襄县| 雷州市| 沙河市| 凤阳县| 凤山县| 武定县| 韩城市| 隆化县| 文水县| 丰原市| 页游| 甘谷县| 西和县| 桐梓县| 英德市| 林州市| 开原市| 天峻县| 威海市| 金山区| 韩城市| 平阴县| 积石山| 鹰潭市| 盐山县| 宁阳县| 新营市| 临沭县| 碌曲县| 兖州市| 大兴区|