Golang的 for 遍历临时变量

Golang的 for 遍历临时变量

问题描述

当我们对for循环中的遍历的item进行修改时,这个修改是不生效的。
package main

import "fmt"

func main() {
    arr := []int{1, 2, 3, 4, 5, 6}
    fmt.Println("修改前,arr=", arr)
    // for循环遍历中修改,a是临时变量,修改后arr不变
    for _, item := range arr {
        if item == 3 {
            item = 33
        }
    }
    fmt.Println("第一次修改后,arr=", arr)
}

 

如果我们执行以上的代码,程序输出如下
posted @ 2022-04-20 20:59  SoutherLea  阅读(213)  评论(0编辑  收藏  举报