golang aerospike客户端中的ListInsertOp是否支持插入元素数组?
如果我使用https://godoc.org/github.com/aerospike/aerospike-client-go#ListAppendOp并传递数组([]字符串),它只是将整个数组作为一个值附加到列表中。我使用它错了还是有另一种方法可以做同样的事情?
答案 0 :(得分:3)
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