Golang 中国

现在有一组数据,如:

编号(id) 名称(name) 分组(group)
1 张三 A组
2 李四 A组
3 王麻子 B组

查询出来后遍历,按分组赋值 (map[分组]=list)的形式 java的话 类似(queryList 为上面3条数据):

Map map = new HashMap();
for (Map obj : queryList) {
    List<Map> valList = (List<Map>) map.get(obj.get("group"));
    if(valList == null) valList = new ArrayList<Map>();
    valList.add(obj);
    map.put(obj.get("group"), valList);
}

go的话:

valList, _ := map[val[“GroupId”].(string)]

这个 valList 怎么转型呢

len(valList) 直接报错了:invalid argument valList (type interface {}) for len

赋值也报错:invalid operation: valList[1] (type interface {} does not support indexing)

顺便请教下,不知道list数组([]map[string]interface{})具体的长度,需要怎么实例化呢?

先谢谢了


newplayer 于 2018-04-16 17:20 修改
2 回复
searching
#1 searching • 2018-05-04 09:55

多看看 golang 的数据结构吧

youzhengchuan
#2 youzhengchuan • 2018-07-05 15:38
m := make(map[string][]strinng)
m["k1"] = []string{"1", "2", "3"}

? 是这样吗

需要 登录 后方可回复, 如果你还没有账号你可以 注册 一个帐号。