很抱歉提出这个问题,但是累了之后在这里写。
我无法将Golang的任何变量类型映射到Cassandra的Decimal类型,这是多精度的
我使用了接口{},只要不将值放在变量中就可以使用。我做的那一刻有问题
您可以使用无穷精度十进制软件包并直接导入此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的返回值中写入第二个结果。无论转换是否成功,该参数都将返回一个布尔值,这很重要(在我的情况下,这已经在直接帮助程序中了)。