2017-10-10 12 views

Antwort

3

ListAppendOp ist eine variable Funktion, die eine beliebige Anzahl von Argumenten vom Typ interface{} akzeptiert. Wenn Sie es als Weitergabe Ihres Arrays bezeichnen, wird es ein Stück interface{} ([]interface{}) mit einem einzelnen Element erhalten, das Ihr Array ist.

Sie benötigen Array zu einer Scheibe interface{} zu konvertieren und erweitern Sie es ... verwenden, wenn es um die Funktion übergeben:

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

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

ListAppendOp("bin1", s...) 

Beispiel für ein Array an eine variadische Funktion übergeben: https://play.golang.org/p/541aJ6dY6D

Aus den technischen Daten: Passing arguments to ... parameters

+0

Haben Sie das versucht? Ich erinnere mich, dies zu versuchen und nur einen Array-Eintrag in der Liste statt 3 String-Einträge zu bekommen. Btw, ich habe das gleiche mit ListInsertOp versucht (weil ich versuche, Werte voranzustellen, statt anzuhängen) – Crusaderpyro

+0

Es funktioniert, sowohl mit ListInsertOp und ListAppendOp. –

+0

Vielleicht ist die Art, wie ich das gleiche bestätige, falsch. Gibt es eine aql-Abfrage, um die Anzahl der Werte in der Liste zu erhalten? – Crusaderpyro