Aerospike golang ListInsertOp 多个值

Aerospike golang ListInsertOp multiple values

golang aerospike客户端中的ListInsertOp是否支持插入元素数组?

如果我使用 https://godoc.org/github.com/aerospike/aerospike-client-go#ListAppendOp,并传递一个数组 ([]string),它只是将整个数组作为一个值附加到列表中。是我用错了还是有其他方法可以做到这一点?

ListAppendOp 是一个可变参数函数,接受任意数量的 interface{} 类型的参数。如果你调用它来传递你的数组,它将收到一个 interface{} ([]interface{}) 的片段,其中有一个元素是你的数组。

您需要将数组转换为 interface{} 的一部分,并在将其传递给函数时使用 ... 展开它:

a := []string{"a", "b", "c"}

s := make([]interface{}, len(a))
for i, v := range a {
  s[i] = v
}

ListAppendOp("bin1", s...)

将数组传递给可变函数的示例: https://play.golang.org/p/541aJ6dY6D

来自规格: Passing arguments to ... parameters