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 = "二級部門"
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章