Go 使用for循环对结构体成员赋值注意事项
Andy 2021-04-29
Golang
# Go 使用for循环对结构体成员赋值注意事项
type ClassworkGradeResponse struct {
StudentID int `json:"student_id"`
Username string `json:"username"`
Nickname string `json:"nickname"`
Tiwen float32 `json:"tiwen"`
Zhanshi float32 `json:"zhanshi"`
Hudong float32 `json:"hudong"`
FinalScore float32 `json:"final_score"`
}
var classworkGradeResponse []ClassworkGradeResponse
// 计算最终得分 错误写法
for i, v := range classworkGradeResponse {
v.FinalScore = (v.Tiwen + v.Zhanshi + v.Hudong) / 3
}
// 计算最终得分 正确写法
for i, v := range classworkGradeResponse {
classworkGradeResponse[i].FinalScore = (v.Tiwen + v.Zhanshi + v.Hudong) / 3
}