清華尹成帶你實戰GO案例(13)Go range函式

尹成發表於2018-05-21
Go range函式
range函式是個神奇而有趣的內建函式,你可以使用它來遍歷陣列,切片和字典。
當用於遍歷陣列和切片的時候,range函式返回索引和元素;
當用於遍歷字典的時候,range函式返回字典的鍵和值。

package main
import "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: 9
index: 1
a -> apple
b -> banana
0 103

1 111




網址:http://www.qukuailianxueyuan.io/



欲領取造幣技術與全套虛擬機器資料

區塊鏈技術交流QQ群:756146052  備註:CSDN

尹成學院微信:備註:CSDN



相關文章