日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

go for 循环遍历数组并排序_10. Go语言流程控制:for 循环

發布時間:2023/12/10 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 go for 循环遍历数组并排序_10. Go语言流程控制:for 循环 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文原文:http://golang.iswbm.com

Github:http://github.com/iswbm/GolangCodingTime

Go里的流程控制方法還是挺豐富,整理了下有如下這么多種:

  • if - else 條件語句
  • switch - case 選擇語句
  • for - range 循環語句
  • goto 無條件跳轉語句
  • defer 延遲執行

上一篇講了switch - case 選擇語句,今天先來講講 for 循環語句。

0. 語句模型

這是 for 循環的基本模型。

for [condition | ( init; condition; increment ) | Range] {statement(s); }

可以看到 for 后面,可以接三種類型的表達式。

  • 接一個條件表達式
  • 接三個表達式
  • 接一個 range 表達式
  • 但其實還有第四種

  • 不接表達式
  • 1. 接一個條件表達式

    這個例子會打印 1 到 5 的數值。

    a := 1 for a <= 5 {fmt.Println(a)a ++ }

    輸出如下

    1 2 3 4 5

    2. 接三個表達式

    for 后面,緊接著三個表達式,使用 ; 分隔。

    這三個表達式,各有各的用途

    • 第一個表達式:初始化控制變量,在整個循環生命周期內,只運行一次;
    • 第二個表達式:設置循環控制條件,當返回true,繼續循環,返回false,結束循環;
    • 第三個表達式:每次循完開始(除第一次)時,給控制變量增量或減量。

    這邊的例子和上面的例子,是等價的。

    import "fmt"func main() {for i := 1; i <= 5; i++ {fmt.Println(i)} }

    輸出如下

    1 2 3 4 5

    2. 不接表達式:無限循環

    在 Go 語言中,沒有 while 循環,如果要實現無限循環,也完全可以 for 來實現。

    當你不加任何的判斷條件時, 就相當于你每次的判斷都為 true,程序就會一直處于運行狀態,但是一般我們并不會讓程序處于死循環,在滿足一定的條件下,可以使用關鍵字 break 退出循環體,也可以使用 continue 直接跳到下一循環。

    下面兩種寫法都是無限循環的寫法。

    for {代碼塊 }// 等價于 for ;; {代碼塊 }

    舉個例子

    import "fmt"func main() {var i int = 1for {if i > 5 {break}fmt.Printf("hello, %dn", i)i++} }

    輸出如下

    hello, 1 hello, 2 hello, 3 hello, 4 hello, 5

    3. 接 for-range 語句

    遍歷一個可迭代對象,是一個很常用的操作。在 Go 可以使用 for-range 的方式來實現。

    range 后可接數組、切片,字符串等

    由于 range 會返回兩個值:索引和數據,若你后面的代碼用不到索引,需要使用 _ 表示 。

    import "fmt"func main() {myarr := [...]string{"world", "python", "go"}for _, item := range myarr {fmt.Printf("hello, %sn", item)} }

    輸出如下

    hello, world hello, python hello, go

    如果你用一個變量來接收的話,接收到的是索引

    import "fmt"func main() {myarr := [...]string{"world", "python", "go"}for i := range myarr {fmt.Printf("hello, %vn", i)} }

    輸出如下

    hello, 0 hello, 1 hello, 2

    好了,今天的文章就到這里了。

    若今天的分享對你有幫助,不如點個贊,支持一下?

    總結

    以上是生活随笔為你收集整理的go for 循环遍历数组并排序_10. Go语言流程控制:for 循环的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。