Go學習筆記之:range函數

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

range函數是個神奇而有趣的內建函數,你可以使用它來遍曆數組,切片和字典。

當用於遍曆數組和切片的時候,range函數返回索引和元素;

當用於遍曆字典的時候,range函數返回字典的鍵和值。

package mainimport "fmt"func main() {    // 這裡我們使用range來計算一個切片的所有元素和    // 這種方法對數組也適用    nums := []int{2, 3, 4}    sum := 0    for _, num := range nums {        sum += num    }    fmt.Println("sum:", sum)    // range 用來遍曆數組和切片的時候返回索引和元素值    // 如果我們不要關心索引可以使用一個底線(_)來忽略這個傳回值    // 當然我們有的時候也需要這個索引    for i, num := range nums {        if num == 3 {            fmt.Println("index:", i)        }    }    // 使用range來遍曆字典的時候,返回索引值對。    kvs := map[string]string{"a": "apple", "b": "banana"}    for k, v := range kvs {        fmt.Printf("%s -> %s\n", k, v)    }    // range函數用來遍曆字串時,返回Unicode代碼點。    // 第一個傳回值是每個字元的起始位元組的索引,第二個是字元代碼點,    // 因為Go的字串是由位元組組成的,多個位元組組成一個rune類型字元。    for i, c := range "go" {        fmt.Println(i, c)    }}

輸出結果為

sum: 9index: 1a -> appleb -> banana0 1031 111


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.