【发布时间】:2014-08-04 23:24:09
【问题描述】:
您可能从下面的代码中可以看出,我正在开发一个从 mongoDB 中的数据创建 csv 报告的项目。在获得我需要的数据后,我需要将数据构造成比它在数据库中的存在方式更合理的结构,这相当可怕(不是我做的),而且几乎不可能按照我需要的方式打印。对我来说最有意义的结构是数据名称映射到保存该名称数据的结构的切片(对于每个数据文档)。然后我只需要遍历文档并将值填充到它们所属的结构中。
我的实现是
type mongo_essential_data_t struct {
caution string
citation string
caution_note string
}
mongo_rows_struct := make([]map[string]mongo_essential_data_t, len(mongodata_rows))
//setting the values goes like this
mongo_rows_struct[i][data_name].caution_note = fmt.Sprint(k)
//"i" being the document, "k" being the data I want to store
但这不起作用。当执行“运行”时,它返回./answerstest.go:140: cannot assign to mongo_rows_struct[i][data_name].caution_note。我是 Go 新手,不知道为什么不允许我这样做。我确信这是引用该特定数据位置的无效方式,如果它甚至可以在 Go 中引用它的话。完成此设置线的另一种方法是什么?如果按照我想要的方式完成这项工作太多,我愿意使用不同类型的数据结构并愿意接受建议。
【问题讨论】:
标签: data-structures struct go maps variable-assignment