为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
慕神8447489 2021-07-01 06:01:55
我想知道是否有办法在 Go 中为未知数量的变量定义一个函数。像这样的东西func Add(num1... int) int {    return args}func main() {    fmt.Println("Hello, playground")    fmt.Println(Add(1, 3, 4, 5,))}我想Add为任意数量的输入推广该函数。
查看完整描述

3 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

使用可变参数时,您需要在函数内的数据类型中使用循环。


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

}


查看完整回答
反对 回复 2021-07-05
?
慕后森

TA贡献1802条经验 获得超5个赞

Golang 有一个非常简单的可变参数函数声明

可以使用任意数量的尾随参数调用可变参数函数。例如,fmt.Println是一个常见的可变参数函数。


这是一个将任意数量的int's 作为参数的函数。


package main


import (

    "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


查看完整回答
反对 回复 2021-07-05
  • 3 回答
  • 0 关注
  • 178 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信