func UpdateUser() gin.HandlerFunc { return func(c *gin.Context) { username := c.Query("username") var updatedUser User if err := c.ShouldBind(&updatedUser); err != nil { c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) return } for i, user := range usersDB { if user.Username == username { usersDB[i] = user c.JSON(http.StatusOK, gin.H{"message": user}) return } } c.JSON(http.StatusNotFound, gin.H{"error": "找不到该用户"}) } }为什么更改不了用户信息?哪里出错了
时间: 2024-03-09 14:47:57 浏览: 77
C_func.chm.rar_c函数手册
在这段代码中,更改不了用户信息的原因可能是因为更新用户信息的代码有问题:
```go
usersDB[i] = user
```
应该是将 `updatedUser` 赋值给 `usersDB[i]`,而不是将 `user` 赋值给 `usersDB[i]`,因为 `user` 是遍历到的原始用户信息,而不是更新后的用户信息。应该修改为:
```go
usersDB[i] = updatedUser
```
这样就能够将更新后的用户信息正确地保存到数据库中了。
阅读全文