golang中在遍历数组时,要修改数组中变量无法修改成功的问题{使用下标}
如下
func main(){
strSlice := []string{"xj", "xj01", "xj02"}
for i, v := range strSlice {
fmt.Printf("修改方法1 value:=%s\n", v)
//修改值(无效)
v = "xj" + string(i)
}
fmt.Printf("修改方法1 strSlice:=%+v\n", strSlice)
fmt.Println("---------------------------")
for i, v := range strSlice {
fmt.Printf("修改方法2 value:=%s\n", v)
//修改(有效)
strSlice[i] = "xj" + strconv.Itoa(i)
}
fmt.Printf("修改方法2 strSlice:=%+v", strSlice)
}
修改方法1 value:=xj
修改方法1 value:=xj01
修改方法1 value:=xj02
修改方法1 strSlice:=[xj xj01 xj02]
---------------------------
修改方法2 value:=xj
修改方法2 value:=xj01
修改方法2 value:=xj02
修改方法2 strSlice:=[xj0 xj1 xj2]
有疑问加站长微信联系(非本文作者)