【发布时间】:2015-01-21 18:22:04
【问题描述】:
除了自定义字段之外,我还需要一个接受名称/值对的数据结构。如何定义这样的结构?
例如
type mybasket struct {
Coupons string
Amount int
....... // string or int
}
【问题讨论】:
-
请查看 Go 常见问题解答:在那里讨论了联合和变体类型。
-
另外,
map[string]interface{}是另一种通用的“东西袋”类型。您需要地图查找和type assertion 来解压缩内容。如果你能弄清楚如何避免在这里做一些动态的事情,那可能是一件好事,因为提前声明字段和类型通常会在编译期间捕获更多错误(更容易调试),并且可以让你的代码运行得更快。 -
这个问题很不清楚。 “接受”名称/值对是什么意思?还是“自定义”字段? “字符串或整数”是否意味着您要求的数据类型代表字符串或整数?您能更具体地说明您要完成的工作吗?
-
@AmitKumarGupta 没错。除了优惠券和金额之外,结构应该“接受”整数或字符串的值。请注意,字段的数量应该是可变的/无限的。