首页 > 编程笔记 > Go语言笔记 阅读:7

Golang可变参数的用法(附带实例)

在 Go 语言中,定义函数时可以不固定参数的数量,这样的参数叫可变参数。

可变参数的函数可以不限制参数的数量,设置可变参数需要在参数的数据类型前添加 3 个点(...),定义的参数以切片形式表示。代码如下:
package main

import "fmt"

func sum(num ...int) { //定义 sum()函数
    result := 0
    for _, value := range num {
        result += value
    }
    fmt.Println(result)
}

func main() {
    sum(1, 3, 5, 7) //调用 sum()函数并传递参数
    sum(2, 4, 6)
}
运行结果如下:

16
12

上述代码定义可变参数的函数 sum(),在调用定义的函数时,可以传递任意数量指定类型的参数,每个参数都必须是 int 类型。

如果需要设置不同类型的参数,可以在定义函数时将参数的数据类型定义为 interface 类型。代码如下:
package main

import "fmt"

func iterate(num ...interface{}) { //定义 iterate()函数
    for _, value := range num {
        fmt.Println(value)
    }
}

func main() {
    iterate(1, 3, 5, 7) //调用 iterate()函数并传递参数
    iterate("Tony", "Kelly", "Jerry") //调用 iterate()函数并传递参数
}
运行结果如下:

1
3
5
7
Tony
Kelly
Jerry

在上述代码中,将参数 num 设置为 interface 类型,在调用函数时,可以将传递的参数设置为任意的数据类型。

相关文章