为了账号安全,请及时绑定邮箱和手机立即绑定

Gocql 自定义编组器

Gocql 自定义编组器

Go
慕码人2483693 2022-01-10 15:02:06
我有一个表,它的元组列由一个 int64 和一个 uuid 配对组成:CREATE TABLE ks.mytable {    fileid    frozen <tuple <bigint, uuid>>,    hits      counter,    ...我目前可以使用 cql 语句设置字段,例如:UPDATE ks.mytable hits = hits + 1 WHERE fileid=(? ?);我传入 2 个变量作为参数, anint64和 a gocql.UUID。我不想将 2 个变量到处移动,而是将它们放在一个结构中,例如type MyID struct {    id  int64    uid  gocql.UUID}然后使用 aMarshaller将这些传递到UPDATE语句中。这可能吗?我不确定是否可以为元组字段传入单个变量。如果是这样,我该怎么做?我不知道如何 - 我试图模仿https://github.com/gocql/gocql/blob/master/marshal_test.go#L935但我遇到了无法设置字段的错误结构 ( cannot refer to unexported field or method proto)
查看完整描述

1 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

正如您所提到的,您收到以下错误:


不能引用未导出的字段或方法 proto


这意味着您需要在结构中导出字段,这意味着在 Go 中以大写字母开头。所以你的结构应该是:


type MyID struct {

    Id  int64

    Uid  gocql.UUID

}

然后,它应该工作。


查看完整回答
反对 回复 2022-01-10
  • 1 回答
  • 0 关注
  • 131 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信