gpt4 book ai didi

Gocql 自定义编码器

转载 作者:IT王子 更新时间:2023-10-29 02:14:22 27 4
gpt4 key购买 nike

我有一个包含元组列的表,该列由一个 int64 和一个 uuid 配对组成:

CREATE TABLE ks.mytable {
fileid frozen <tuple <bigint, uuid>>,
hits counter,
...

我目前可以使用如下 cql 语句设置字段:

UPDATE ks.mytable hits = hits + 1 WHERE fileid=(? ?);

我传入 2 个变量作为参数,一个 int64 和一个 gocql.UUID

我不想到处移动 2 个变量,而是想把它们放在一个结构中,比如

type MyID struct {
id int64
uid gocql.UUID
}

然后使用 Marshaller 将它们传递到 UPDATE 语句中。

这可能吗?我不确定是否可以为元组字段传入单个变量。如果是这样,我该怎么做?我不知道如何 - 我试图模仿 https://github.com/gocql/gocql/blob/master/marshal_test.go#L935但是我在无法设置结构中的字段时遇到错误(无法引用未导出的字段或方法原型(prototype))

最佳答案

如您所述,您收到以下错误:

cannot refer to unexported field or method proto

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

type MyID struct {
Id int64
Uid gocql.UUID
}

那么,它应该可以工作了。

关于Gocql 自定义编码器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37175287/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com