亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

GO的range具體使用

go
小云
102
2023-08-09 14:14:51
欄目: 編程語言

在Go語言中,range關鍵字用于迭代數組(slice)、字符串、映射(map)、通道(channel)或者是自定義的數據結構。使用range可以更方便地遍歷這些數據結構。

使用range的具體語法為:

for index, value := range data {
// 循環體
}
  • index代表當前迭代的索引(下標),如果不需要可以使用下劃線(_)忽略。

  • value代表當前迭代的值。

data可以是數組(slice)、字符串、映射(map)或者通道(channel)。具體效果如下:

  1. 迭代數組(slice)或字符串:
arr := []int{1, 2, 3, 4, 5}
for index, value := range arr {
fmt.Printf("index: %d, value: %d\n", index, value)
}

輸出:

index: 0, value: 1
index: 1, value: 2
index: 2, value: 3
index: 3, value: 4
index: 4, value: 5
  1. 迭代映射(map):
m := map[string]int{"a": 1, "b": 2, "c": 3}
for key, value := range m {
fmt.Printf("key: %s, value: %d\n", key, value)
}

輸出:

key: a, value: 1
key: b, value: 2
key: c, value: 3
  1. 迭代通道(channel):
ch := make(chan int)
go func() {
for i := 1; i <= 5; i++ {
ch <- i
}
close(ch)
}()
for value := range ch {
fmt.Printf("value: %d\n", value)
}

輸出:

value: 1
value: 2
value: 3
value: 4
value: 5

此外,range還可以用于迭代字符串,對于字符串,range會按照Unicode字符迭代。例如:

str := "Hello, 世界"
for index, value := range str {
fmt.Printf("index: %d, value: %c\n", index, value)
}

輸出:

index: 0, value: H
index: 1, value: e
index: 2, value: l
index: 3, value: l
index: 4, value: o
index: 5, value: ,
index: 6, value:
index: 7, value: 世
index: 10, value: 界

0
松原市| 新建县| 都安| 特克斯县| 五华县| 莱州市| 贡嘎县| 贵溪市| 文成县| 乐都县| 辽宁省| 长葛市| 米脂县| 青龙| 玉山县| 翁源县| 平利县| 托里县| 壶关县| 鄂伦春自治旗| 浏阳市| 通山县| 城口县| 江孜县| 泰安市| 宁波市| 麦盖提县| 绥德县| 赤壁市| 安泽县| 任丘市| 资阳市| 微山县| 古浪县| 依安县| 雅安市| 大石桥市| 绥阳县| 河东区| 枝江市| 子洲县|