其他分享
首页 > 其他分享> > go - 循环结构体,修改结构体中某个字段的值

go - 循环结构体,修改结构体中某个字段的值

作者:互联网

循环结构体,修改结构体中某个字段的值

背景:使用go获取部门列表后,需要修改其中的一个字段的值,将level = 2 修改为 level = “二级部门”

错误方法1:结构体转json后,不行

for _, item := range departments {
	item.Level = "二级部门
}

错误方法2:通过反射,普通的可以,结构体转json后不行

for _, item := range departments {
	level := reflect.ValueOf(&item.Level)
	level.Elem().SetString("二级部门")
}

正确方法:通过index去修改

for index, _ := range departments {
	departments[index].Level = "二级部门"
}

标签:index,level,Level,range,departments,item,字段,体中,go
来源: https://www.cnblogs.com/alisleepy/p/16102255.html