一尘不染

将数组作为参数解包

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)
}

如果我犯了语法错误或各种错误,我深表歉意。我是新手。


阅读 255

收藏
2020-07-02

共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函数后,请注意重要事项。

运行示例:http//ideone.com/8htWfx

2020-07-02