【发布时间】:2016-09-28 00:06:00
【问题描述】:
我正在寻找一种方法来将类型(可能是反射。类型?)作为自定义结构中的字段。这背后的原因是我将 JSON 数组解码为结构,稍后我会从中构建 SQL 查询,但是 JSON 数组中的整数、浮点数和时间戳是相同的,尽管在查询数据库时它们是不同的。这意味着我需要在查询之前将每个值转换为正确的类型。
我认为答案就在反射包的某个地方,但我还没有弄清楚如何使用它。
我希望是这样的:
type Column struct {
name string
dataType type
}
someColumn := Column {name: "somecol", dataType: int}
convertedVal := SomeConversionFunc("5", someColumn.dataType)
或者,这种事情也可以工作:
type Column struct {
name string
dataType func()
}
someColumn := Column {name: "somecol", dataType: ConvertToInt}
convertedVal := someColumn.dataType("5")
有什么想法吗?
【问题讨论】:
-
看来你需要一个 ORM 包。
-
我不确定这是否是解决方案。一切都被解码为字符串,这意味着我需要将这些字符串转换为相应列的数据类型,然后再将它们传递给查询构建器(我正在使用 squirrel 创建 Cassandra 查询 - CQL)
标签: reflection struct go