Go 通过for循环遍历数组并修改值,注意事项:

Go 通过for循环遍历数组并修改值,注意事项:,第1张

通过range获取数组 -> 不能修改原数组中结构体的值:

通过range获取数组下标 -> 可以修改原数组中结构体的值:

package main

import "fmt"

func main() {
	type User struct {
		Name string
	}

	userArr := []User{
		{Name: "ZhangSan"},
		{Name: "LiSi"},
	}

	// 示例1:通过range获取数组的值 -> 不能修改原数组中结构体的值:
    // 输出:userName1:{ZhangSan} userName1:{LiSi};原数组值并未改变!
	for _, user := range userArr {
		user.Name = "WangWu"
	}

	for _, userName1 := range userArr {
		fmt.Println("userName1: ", userName1)
	}

	// 示例2:通过range获取数组下标 -> 可以修改原数组中结构体的值:
    // 输出:userName2:{WangWu} userName2:{WangWu};原数组值被成功改变!
	for i, _ := range userArr {
		userArr[i].Name = "WangWu"
	}

	for _, userName2 := range userArr {
		fmt.Println("userName2: ", userName2)
	}
}

总结:想要通过遍历数组方式去改变其值时,需要通过数组下标去 *** 作(示例2)!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/995780.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存