golang 修改数组中结构体对象的值的坑

对对象数组逐个修改元素属性时候没有成功,代码如下:

for _, configure := range configures {

configure.Price = specPriceMap[configure.CarSpecId]

}

原因是在修改时候使用内置变量configure ,循环结束时候临时变量的作用域消失,并没有真正的修改元素的属性;

因此需要用到索引来访问数组的元素,通过索引指向元素,具体代码如下:

 

for idx, configure := range configures {

configures[idx].Price = specPriceMap[configure.CarSpecId]

}

本来是个初级的问题,因为思路不清楚浪费了将近个把小时在整体范围去定位排查,mark; 

原文地址:https://www.cnblogs.com/lavin/p/10412895.html