golang类型

vxf3dgd4  于 2021-06-15  发布在  Cassandra
关注(0)|答案(2)|浏览(357)

很抱歉问这个问题,但累了之后我写在这里。
我无法将golang的任何变量类型Map到cassandra的十进制类型,这是多精度的
我使用了接口{},只要我不在变量中放置值,它就可以工作。当我这么做的时候,就有问题了

mbjcgjjk

mbjcgjjk1#

您可以使用无限精度十进制软件包直接导入这个gopkg, import "gopkg.in/inf.v0" 假设您有一个特定的模型,它用十进制数据类型反映或绑定到scylla/cassandra表,

type TradeModel struct {
    Balance *inf.Dec
}

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

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

    res, _ := d.SetString(s)
    return res
}

看看这些例子:https://github.com/go-inf/inf/blob/master/dec.go
注意:为了简单起见,我没有从setstring的返回值显式编写第二个结果。无论转换是否成功,这个参数都将返回一个布尔值,这一点很重要(在我的例子中,这已经在directhelpers中了)。

wwodge7n

wwodge7n2#

https://github.com/gocql/gocql/blob/master/helpers.go
根据这个链接,我发现golang的inf.dec类型Map到cassandra的十进制

var decimal inf.Dec

decimal := inf.NewDec(1, 0)

相关问题