首页 > 文章列表 > golang可变参数的语法和类型要求?

golang可变参数的语法和类型要求?

golang 可变参数
473 2024-08-12

Go语言中的可变参数语法为 funcName(param1, param2, ..., paramN ...type),其中 param1 至 paramN 是固定参数,type 是可变参数的类型。可变参数只能是切片、数组或可变参数本身,如 ...string、...[]int、...func(string) int。以下案例展示了接受可变参数并在控制台打印所有参数的函数:package mainimport "fmt"func printVarArgs(args ...string) { for _, arg := range args { fmt.Println(arg) }}func main() { printVarArgs("Hello", "World", "!", "This", "is", "an", "example") },输出结果为 HelloWorld!Thisisanexample。

golang可变参数的语法和类型要求?

Go 语言中可变参数的语法和类型要求

可变参数是一种允许函数接受数量可变的参数的功能。Go 语言中,可变参数使用 ... 操作符表示。

语法

可变参数必须位于参数列表的最后位置。其语法如下:

funcName(param1, param2, ..., paramN ...type)

其中:

  • param1, param2, ..., paramN 是固定参数。
  • type 是可变参数的类型。

类型要求

可变参数只能是切片、数组或可变参数本身(...type)。例如:

  • funcName(param1, param2 ...string)
  • funcName(param1, param2 ...[]int)
  • funcName(param1, param2 ...func(string) int)

实战案例

以下示例展示了一个接受可变参数并在控制台打印所有参数的函数:

package main

import "fmt"

// printVarArgs 打印可变参数
func printVarArgs(args ...string) {
    for _, arg := range args {
        fmt.Println(arg)
    }
}

func main() {
    // 调用 printVarArgs 函数并传入可变参数
    printVarArgs("Hello", "World", "!", "This", "is", "an", "example")
}

输出:

Hello
World
!
This
is
an
example