go中的map我们都知道在进行遍历的时候我们知道他是无序的。对于map[int]interface{}类型的,我们可以通过计算map的长度,通过定长的for循环,进行顺序的输出。
那么如果map的类型是map[string]interface{}类型的呢,我们只能使用range来进行map的无顺序的输出。如果我们想要进行顺序的输出呢,可以使用切片map
[]map[][],当我们使用这个map的时候,如果需要输出其中的一个也就值只要在前面按照切片的操作,定位到具体的map就好了
crm_channel_list_lest []map[string][string]
for m := 0; m < crm_channel_list_len; m++ {
tmp.AddNum = 0
tmp.SetNum = 0
tmp.SalesmanId = 0
//utils.ChangeStruct2OtherStruct(oldGroup,&tmp)
nn := crm_channel_list[m]["crm_channel_id"]
int_crm_channel_id,err := strconv.ParseInt(nn,10,64)
tmp.Name = crm_channel_list[m]["name"]
if err == nil {
tmp.Id = int_crm_channel_id
in,_ := utils.Contain(int_crm_channel_id,sgMap)
if in {
tmp.AddNum = sgMap[int_crm_channel_id].AddNum
tmp.SetNum = sgMap[int_crm_channel_id].SetNum
tmp.SalesmanId = sgMap[int_crm_channel_id].SalesmanId
retData = append(retData,tmp)
}
}
}