首頁 >後端開發 >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