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
关于go - Aerospike Golang ListInsertOp多个值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46662690/