之前学的PHP,现在写go。在操作切片、和map类型时不懂怎么操作了,请大佬们帮忙看看

ChenDeZhu · 2018-03-13 12:45:28 · 961 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2018-03-13 12:45:28 的主题,其中的信息可能已经有所发展或是发生改变。

我用的orm查询出的一组数组list 如下:
[
map[cname:大小 itemId:1 cid:1 itemName:大]
map[cname:大小 itemId:2 cid:1 itemName:小]
map[cname:颜色 itemId:3 cid:2 itemName:黄色]
map[cname:颜色 itemId:4 cid:2 itemName:绿色]
]
我想得到一个数组或切片Arr,通过cid分类

for _,v:=range list{
Arr[v["cid"]]["name"] = v["name"]
Arr[v["cid"]]["list"][] = v
}
一直都在报错。。 大佬们教一下怎么写循环里的内容吧


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

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

961 次点击  
加入收藏 微博
2 回复  |  直到 2018-03-13 16:30:08
dong-hao
dong-hao · #1 · 7年之前
m := make(map[int]int, 0)

for _, v := rang list {
    if _, ok := m[v["cid"]]; !ok {
        Arr = append(Array, v)
    }
}
fwhez
fwhez · #2 · 7年之前

arr初始化了吗,看一下楼上那样

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传