Cassandra十进制的Golang类型

Tah*_*een 1 go cassandra

很抱歉提出这个问题,但是累了之后在这里写。

我无法将Golang的任何变量类型映射到Cassandra的Decimal类型,这是多精度的

我使用了接口{},只要不将值放在变量中就可以使用。我做的那一刻有问题

Kar*_*yot 5

您可以使用无穷精度十进制软件包并直接导入此gopkg,

import "gopkg.in/inf.v0"

假设您有一个特殊的模型,该模型使用十进制数据类型来反映或绑定到Scylla / Cassandra表,

type TradeModel struct {
    Balance *inf.Dec
}
Run Code Online (Sandbox Code Playgroud)

要将字符串转换或转换为此十进制数据类型,可以使用以下函数:

func ToDecimal(s string) *inf.Dec {
    d := new(inf.Dec)

    res, _ := d.SetString(s)
    return res
}
Run Code Online (Sandbox Code Playgroud)

看看这些例子:https : //github.com/go-inf/inf/blob/master/dec.go

注意:为了简单起见,我没有明确地从SetString的返回值中写入第二个结果。无论转换是否成功,该参数都将返回一个布尔值,这很重要(在我的情况下,这已经在直接帮助程序中了)。