• Go语言range关键字:循环迭代切片

    通过前面的学习我们了解到切片其实就是多个相同类型元素的连续集合,既然切片是一个集合,那么我们就可以迭代其中的元素,Go语言有个特殊的关键字 range,它可以配合关键字 for 来迭代切片里的每一个元素,如下所示:

    // 创建一个整型切片,并赋值
    slice := []int{10, 20, 30, 40}
    // 迭代每一个元素,并显示其值
    for index, value := range slice {
        fmt.Printf("Index: %d Value: %d\n", index, value)
    }

    第 4 行中的 index 和 value 分别用来接收 range 关键字返回的切片中每个元素的索引和值,这里的 index 和 value 不是固定的,读者也可以定义成其它的名字。

    关于 for 的详细使用我们将在下一章《Go语言流程控制》中为大家详细介绍。

    上面代码的输出结果为:

    Index: 0 Value: 10
    Index: 1 Value: 20
    Index: 2 Value: 30
    Index: 3 Value: 40

    当迭代切片时,关键字 range 会返回两个值,第一个值是当前迭代到的索引位置,第二个值是该位置对应元素值的一份副本,如下图所示。

    使用 range 迭代切片会创建每个元素的副本
    图:使用 range 迭代切片会创建每个元素的副本

更多...

加载中...