go遍历出错

jwcode · · 1036 次点击 · 开始浏览    置顶

今天发现一个关于遍历的奇怪问题 我遍历修改数据后发现遍历修改的值全变成一样了 代码如下,有知道的大哥还请帮忙瞅瞅 下边是代码 ``` package main import "fmt" type App struct { AppAccount []*AppAccount } type AppAccount struct { AppGroup []*AppGroup } type AppGroup struct { Name string } func main() { app := new(App) account := new(AppAccount) group := new(AppGroup) account.AppGroup = append(account.AppGroup, group, group, group) app.AppAccount = append(app.AppAccount, account, account, account) x := 0 for _, appAccount := range app.AppAccount { for _, appGroup := range appAccount.AppGroup { appGroup.Name = fmt.Sprintf("--> %v", x) x++ } } for _, appAccount := range app.AppAccount { for _, appGroup := range appAccount.AppGroup { fmt.Println(appGroup.Name) } } } ```

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:701969077

1036 次点击  ∙  1 赞  
加入收藏 微博
4 回复  |  直到 2022-04-20 12:42:13
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传