Goのレストパラメーターの使用法

Go言語では、「…」という構文を使って可変長引数、またはレスト引数と呼ばれる関数の引数を定義できます。これにより、関数は任意の数の引数を受け取ることができます。

restパラメータを使う例を以下に示します。

func sum(nums ...int) int {
    result := 0
    for _, num := range nums {
        result += num
    }
    return result
}

func main() {
    fmt.Println(sum(1, 2, 3))         // 输出: 6
    fmt.Println(sum(1, 2, 3, 4, 5))   // 输出: 15
    fmt.Println(sum())                // 输出: 0
}

上記の例では、関数`sum`は可変個の長さの`int`パラメーターを受け取り、それらを合計して返します。`main`関数では、`sum`関数に異なる個数の引数を渡して、それに応じた結果を得ることができます。

注意点は、レストパラメータを関数のパラメータリストの末尾にしか指定できないことと、レストパラメータは1つしか指定できないことです。また、sum([]int{1, 2, 3}…)のように、スライスをレストパラメータとして渡すこともできます。

可変長引数を使用すると不特定多数の引数をもっと簡単に扱うことができ、特に汎用関数を記述する場合に、さまざまなケースに対する柔軟な対応が可能になる。

bannerAds