Go 配列を引数として展開する 質問する

Go 配列を引数として展開する 質問する

Python と Ruby には、配列を引数として展開するための splat 演算子 (*) があります。Javascript には .apply() 関数があります。Go で配列/スライスを関数の引数として展開する方法はありますか? これに関するリソースがあれば、それもありがたいです!

次のような内容です:

func my_func(a, b int) (int) {
    return a + b
}

func main() {
    arr := []int{2,4}
    sum := my_func(arr)
}

ベストアンサー1

C に似た vararg 構文を使用できます。

package main
import "fmt"

func my_func( args ...int) int {
   sum := 0
   for _,v := range args {
      sum = sum + v
   }

   return sum;
}

func main() {
    arr := []int{2,4}
    sum := my_func(arr...)
    fmt.Println("Sum is ", sum)
}

これで、好きなだけ合計することができます。関数...を呼び出す後の部分が重要であることに注意してくださいmy_func

実行例:翻訳元

おすすめ記事