Go 语言可变参数的使用示范

17 min read

Go 语言中,如果我们不确定函数需要接收多少个参数,就可以使用可变参数来解决这一问题。可变参数在 Go 语言中称为可变参数函数(Variadic Functions),它可以接受任意数量的相同类型的参数。下面是一个使用可变参数函数的示例:

package main

import "fmt"

func sum(nums ...int) int {
    total := 0
    for _, num := range nums {
        total += num
    }
    return total
}

func main() {
    fmt.Println(sum(1, 2, 3))    // 输出 6
    fmt.Println(sum(1, 2, 3, 4)) // 输出 10
    fmt.Println(sum())           // 输出 0
}

在上面的示例中,我们定义了一个 sum 函数,该函数使用 ...int 来表示可变参数。这个 ...int 实际上是一个切片(slice),它可以包含任意数量的 int 类型的元素。在函数体内,我们可以像操作一个普通的切片一样进行循环,来处理函数参数。

main 函数中,我们分别传入了三个参数、四个参数和零个参数来调用 sum 函数,并分别输出了它们的返回值。

总结:

  • 可变参数函数可以接受任意数量的相同类型的参数。
  • 在函数体内,可变参数被当做一个切片来处理。
  • 可变参数函数在实现一些基础库函数时非常有用。