golang ...演算子
...
で記述される可変数関数。
これ結構便利というか知らなかったことが多かった。
そもそも、…パラメータとは??
func append(zeroValue int, value ...int) Sum(-10, 50, 3, 10, -17)
このような関数とその呼出しがあるとします。
その場合、value
の値は[]int{50, 3, 10, -17}
となります。
最後の引数がスライス型[]Tに対し、代入可能!
スライス型を使って呼び出すことも可能です!!
value := []int{50, 3, 10, -17} Sum(-10, value...)
すげぇ。
これをうまく使うと、
appendでスライド同士の結合も可能で、
結合される側のスライスに...
を付記で出来る!
num := []int{1, 2, 3, 4, 5, 99} num = append([]int{99}, num...)
スライスの結合、地道にループしてたのですが、 この方法のがパフォーマンス的にもいいですね。
ただの可変長な引数にするだけだと思ってたので、こういう使い方ができるとは!知らんかった。。。