Go 中的可选参数

Jay Singh 2023年1月30日
  1. 在 Go 中使用 variadic 函数传递可选参数
  2. 在 Go 中使用 variadic 函数传递多个字符串
Go 中的可选参数

variadic 函数在调用时具有可变数量的参数。它可以与零个或多个参数一起使用。

省略号 ... 可以在参数之前定义变量函数。

在 Go 中使用 variadic 函数传递可选参数

该函数将接受任意数量的整数作为输入。如果切片中已经有许多 args,请使用 func(slice...) 将它们应用于 variadic 函数。

package main

import "fmt"

func sum(nums ...int) {
	fmt.Print(nums, " ")
	total := 0
	for _, num := range nums {
		total += num
	}
	fmt.Println(total)
}
func main() {
	sum(1, 2)
	sum(1, 2, 3)
	nums := []int{1, 2, 3, 4}
	sum(nums...)
}

输出:

[1 2] 3
[1 2 3] 6
[1 2 3 4] 10

在 Go 中使用 variadic 函数传递多个字符串

提供给 s 参数的参数数量没有限制。树点省略号通知编译器该字符串可以具有从零到多个的任意数量的值。

package main

import "fmt"

func main() {
	variadic()
	variadic("white", "black")
	variadic("white", "black", "blue")
	variadic("white", "black", "blue", "purple")
}
func variadic(s ...string) {
	fmt.Println(s)
}

输出:

[]
[white black]
[white black blue]
[white black blue purple]

让我们编写一个程序,当他们的名字被提供给函数时向他们打招呼:

package main

import "fmt"

func main() {
	sayHello()
	sayHello("Jay")
	sayHello("Jessica", "Mark", "Jonas")
}

func sayHello(names ...string) {
	for _, n := range names {
		fmt.Printf("Hello %s\n", n)
	}
}

输出:

Hello Jay
Hello Jessica
Hello Mark
Hello Jonas

相关文章 - Go Variadic