我正在使用列表数据类型(http://www.aerospike.com/docs/guide/cdt-list.html
)使用golang客户端在Aerospike中。我可以使用ListInsertOp(https://godoc.org/github.com/aerospike/aerospike-client-go#ListInsertOp)在给定条目的列表中插入值。

但是,我想使用ListSetOp(https://godoc.org/github.com/aerospike/aerospike-client-go#ListSetOp)或ListRemoveOp(https://godoc.org/github.com/aerospike/aerospike-client-go#ListRemoveOp)更新/删除给定的列表值

为此,我需要一个索引。我如何获得该指数?有没有一种方法可以遍历所有列表值并获取索引,然后执行更新或删除操作?

最佳答案

假设您有一个名为List的列表。
假设您想将value元素替换为newItem您可以这样做:

...

for index, item := range List {
     if item == value {
             List[index] = newItem
     }
}

...

在以上代码段中,index是元素item所在的索引。通过这种方式,您还可以将列表中特定索引上存在的元素替换为value

操场上的样本示例:https://play.golang.org/p/qOmsY9fbL2

关于go - 如何使用golang遍历Aerospike中的列表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46679631/

10-13 05:36