[Golang]for range用于遍历,不能对数组的值进行改变

简介: [Golang]for range用于遍历,不能对数组的值进行改变

问题描述

在对一个切片类型的结构体中每一个结构体的属性进行赋值的时候,通过打印,发现使用for range改变值后结构体内数据值没有发生变化,之前因为没有注意这个细节点,导致耽误了一天的时间,特此记录。


怎么赋值

go中有两种方法进行遍历和赋值,一种是for循环,一种是for range,因为for range遍历用的是数组的复制值,所以再进行更改也没有什么作用,应该使用for循环来进行 遍历

如下所示:正确示例:

42e2034506304e2cb795e4bf9d2c8953.png

相关文章
|
3天前
|
Go
golang力扣leetcode 238.除自身以外数组的乘积
golang力扣leetcode 238.除自身以外数组的乘积
18 0
|
3天前
|
Go
golang力扣leetcode 152.乘积最大子数组
golang力扣leetcode 152.乘积最大子数组
34 0
|
3天前
|
Go
golang力扣leetcode 954.二倍数对数组
golang力扣leetcode 954.二倍数对数组
17 0
|
3天前
|
Go
golang力扣leetcode 34.在排序数组中查找元素的第一个和最后一个位置
golang力扣leetcode 34.在排序数组中查找元素的第一个和最后一个位置
70 0
|
3天前
|
Go
golang力扣leetcode 462.最少移动次数使数组元素相等II
golang力扣leetcode 462.最少移动次数使数组元素相等II
36 0
|
3天前
|
Go
golang力扣leetcode 105.从前序与中序遍历序列构造二叉树
golang力扣leetcode 105.从前序与中序遍历序列构造二叉树
36 0
|
3天前
|
存储 编译器 Go
Golang深入浅出之-掌握Go语言Map:初始化、增删查改与遍历
【4月更文挑战第21天】Go语言中的`map`提供快速的键值对操作,包括初始化、增删查改和遍历。初始化时,推荐使用`make()`函数,如`make(map[string]int)`。插入和查询键值对直接通过索引访问,更新则重新赋值。删除键值对需用`delete()`函数,确保键存在。遍历map常用`for range`,注意避免在遍历中修改map。了解这些并避免易错点,能提升代码效率和可读性。
22 1
Golang深入浅出之-掌握Go语言Map:初始化、增删查改与遍历
|
3天前
|
Go
【Golang】使用泛型对数组进行去重
【2月更文挑战第11天】使用泛型对数组进行去重
31 0
|
3天前
|
Java Go C++
Golang每日一练(leetDay0114) 矩阵中的最长递增路径、按要求补齐数组
Golang每日一练(leetDay0114) 矩阵中的最长递增路径、按要求补齐数组
36 0
Golang每日一练(leetDay0114) 矩阵中的最长递增路径、按要求补齐数组
|
3天前
|
Java Go C++
Golang每日一练(leetDay0088) 数组的乘积、搜索二维矩阵II
Golang每日一练(leetDay0088) 数组的乘积、搜索二维矩阵II
29 0
Golang每日一练(leetDay0088) 数组的乘积、搜索二维矩阵II