首页 >后端开发 >Golang >Go 中的可变参数函数如何处理任意数量的参数?

Go 中的可变参数函数如何处理任意数量的参数?

Patricia Arquette
Patricia Arquette原创
2024-12-01 10:24:15336浏览

How Do Variadic Functions in Go Handle an Arbitrary Number of Arguments?

Go 中的可变参数函数

Golang 提供了一个称为可变参数函数的独特功能,它允许您定义接受任意数量参数的函数。这提供了一种灵活的方法来处理具有不同输入的函数。

在您的示例中,您希望定义一个函数 Add ,它接受任意数量的整数并返回它们的总和。在 Go 中,您可以使用语法 ...int 来实现此目的,其中省略号 (...) 表示参数的可变数量。这是示例的更正版本:

package main

import "fmt"

func Add(num1 ...int) int {
    sum := 0
    for _, v := range num1 {
        sum += v
    }
    return sum
}

func main() {
    fmt.Println("Hello, playground")
    fmt.Println(Add(1, 3, 4, 5))
}

正如规范提到的:

给定函数和调用

func Greeting(prefix string, who ...string)
Greeting("hello:", "Joe", "Anna", "Eileen")

在 Greeting 中,谁会值为 []string{"Joe", "Anna", "Eileen"}

因此,当调用 Add(1, 3, 4, 5) 时,num1 参数将是包含值 [1, 3, 4, 5] 的整数切片。然后可以迭代该切片以计算输入数字的总和。

以上是Go 中的可变参数函数如何处理任意数量的参数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn