猿问

Golang 是否支持可变参数函数?

我想知道是否有办法在 Go 中为未知数量的变量定义一个函数。


像这样的东西


func Add(num1... int) int {

    return args

}


func main() {

    fmt.Println("Hello, playground")

    fmt.Println(Add(1, 3, 4, 5,))

}

我想Add为任意数量的输入推广该函数。


慕神8447489
浏览 179回答 3
3回答

红颜莎娜

使用可变参数时,您需要在函数内的数据类型中使用循环。func Add(nums... int) int {    total := 0    for _, v := range nums {        total += v    }    return total  }func main() {    fmt.Println("Hello, playground")    fmt.Println(Add(1, 3, 4, 5,))}

慕后森

Golang 有一个非常简单的可变参数函数声明可以使用任意数量的尾随参数调用可变参数函数。例如,fmt.Println是一个常见的可变参数函数。这是一个将任意数量的int's 作为参数的函数。package mainimport (    "fmt")func sum(nums ...int) {    fmt.Println(nums)    for _, num := range nums {        fmt.Print(num)    }}func main() {    sum(1, 2, 3, 4, 5, 6)}上述程序的输出:[1 2 3 4 5 6]1 2 3 4 5 6
随时随地看视频慕课网APP

相关分类

Go
我要回答