作為一門高效簡潔的程式語言,Golang(又稱Go)在不斷贏得越來越多的支持者和開發者。其豐富的函式庫和語法簡潔的特性使得Golang的使用非常方便和愉悅。在本文中,我們將會詳細介紹Golang中的range用法,以便更好地利用Golang進行程式設計!
什麼是range?
range是Golang中的內建函數,它能夠直接取出集合中的每個元素(陣列、切片、映射等),使用起來非常方便。在實際程式設計過程中,我們常會用到range函數來遍歷資料集合進行計算、列印、過濾等操作。
使用range的基本語法
range的基本語法如下:
for index, 值 := range collection {
// 针对value和index进行操作
}
其中index表示遍歷到的目前元素索引,value表示遍歷到的目前元素。
舉例來說,我們可以利用range對一個整數陣列進行遍歷:
package main
import "fmt"
func main() {
nums := []int{2, 3, 4} sum := 0 for _, num := range nums { sum += num } fmt.Println("sum: ", sum)
}
結果輸出:sum: 9
在上述程式碼中,我們依序遍歷了陣列nums中的每個元素,並且根據=進行了累加,最終計算出了元素總和。
在range中使用索引
在range中,我們可以使用下標(索引)進行遍歷集合元素的同時,輸出元素下標和值:
package main
import "fmt"
func main() {
nums := []int{2, 3, 4} for i, num := range nums { fmt.Printf("index: %d, value: %d\n", i, num) }
}
當執行程式的時候,就會得到如下的輸出:
index: 0, 值: 2
index: 1, 值: 3
index: 2, 值: 4
在range中忽略索引
如果我們在range中不需要使用索引,可以將其忽略掉,使用“_”代替即可。
package main
import "fmt"
func main() {
nums := []int{2, 3, 4} for _, num := range nums { fmt.Println("value: ", num) }
}
輸出結果:
value: 2
value: 3
value: 4
在range中使用map
##除了可以在range中處理陣列和切片之外,我們還可以處理映射(Map),具體實作如下:package mainimport "fmt"func main() {kvs := map[string]string{"a": "apple", "b": "banana"} for k, v := range kvs { fmt.Printf("%s -> %s\n", k, v) }}輸出結果:a -> apple
b -> banana
c := make(chan int, 2) c <- 1 c <- 2 close(c) for v := range c { fmt.Println(v) }}#輸出結果:1
2
以上是golang range用法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!