ホームページ >バックエンド開発 >Golang >Go の可変引数関数は任意の数の引数をどのように処理しますか?

Go の可変引数関数は任意の数の引数をどのように処理しますか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-01 10:24:15345ブラウズ

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))
}

仕様に記載されているように:

関数を指定して、Greeting 内で

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

を呼び出すと、誰が実行しますか値は []string{"Joe", "Anna", "Eileen"}

したがって、Add(1, 3, 4, 5) を呼び出すとき、num1 パラメーターは値 [1, 3, 4, 5] を含む整数のスライスになります。このスライスを反復して、入力数値の合計を計算できます。

以上がGo の可変引数関数は任意の数の引数をどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。