我在下面第 167 行部分开始时遇到问题的区域:
for scanner.Scan() {
//dateCollection := make(map[string]int)
m := tag.FindString(scanner.Text())
if m != "" {
// stop races
Lock.Lock()
arr := strings.Split(m, "/")
taghash := strings.Join(arr, "_")
taghash = strings.TrimLeft(taghash, "_")
//data[taghash]++
m = date.FindString(scanner.Text())
if m != "" {
hour := m
data[taghash] = make(map[string]int)
data[taghash][hour]++
}
Lock.Unlock()
}
}
fmt.Println(file)
os.Remove(file)
if err := scanner.Err(); err != nil {
log.Fatal(err)
}
我在主函数中打印值时得到的输出
fstvt1_ros_300x600_pp8_1 T07 1
我期待一个看起来像这样的输出:
fstvt1_ros_300x600_pp8_1
T00 213434
T01 23432
T02 3324
T03 324
T04 324
T05 0 ...
(this isn't real data)
我想要做的是: 我有一个数据映射,var data = make(map[string]map[string]int)其键等于 taghash,例如fstvt1_ros_300x600_pp8_1. 该值是数据映射。该映射的键值应为字符串和整数。我想要多张地图。每个键一个... T01, T02 .. 当前输出的是我正在迭代的最后一个项目中的最后一个项目,而不是每个标签哈希的键和值的集合。我如何制作,而不是覆盖数据,而是添加新的键值 T01、T02 .. 并且如果 taghash 和小时是增加该特定对象的一些。
我目前使用的代码行:
T01, T02..
data[taghash][hour]++
如果 taghash 和小时存在,那么它应该增加。如果 taghash 和 hour 不存在,则创建 taghash 并添加新键和增量。
慕哥6287543
相关分类