ホームページ > バックエンド開発 > Golang > golang の配列変数パラメータ

golang の配列変数パラメータ

WBOY
リリース: 2023-05-15 11:39:07
オリジナル
699 人が閲覧しました

Golang は、不定パラメータの処理など、多くの便利な機能を提供する強力なプログラミング言語です。この記事では、Golang で無限の数のパラメーターを処理する方法を検討します。

配列は、同じ種類のデータを格納できる一般的なデータ構造です。 Golang では、配列の長さは固定です。可変数のパラメータを処理したい場合は、スライスを使用する必要があります。スライスは、長さを動的に増減できる配列で構成されるデータ構造です。

Golang では、関数は無制限の数のパラメーターを受け入れることができます。これらのパラメータはスライスとして表されます。省略記号 (...) を使用して変数パラメーターを宣言できます。例:

func sum(nums ...int) int {
    total := 0
    for _, num := range nums {
        total += num
    }
    return total
}
ログイン後にコピー

上記の例では、sum 関数は、nums という名前の無限の整数パラメータを受け入れます。関数本体内では、これらのパラメータをスライスと同様に処理できます。ループを使用してすべてのパラメーターの合計を計算し、結果を返します。

次の方法で sum 関数を呼び出すことができます:

fmt.Println(sum(1, 2, 3))  // Output: 6
fmt.Println(sum(4, 5, 6, 7))  // Output: 22
ログイン後にコピー

sum 関数を呼び出すとき、異なる数のパラメータを渡すことができます、たとえパラメータを渡すこともできません。不定パラメータを扱うときは、次の点に注意する必要があります。

  1. 不定パラメータは関数の最後のパラメータである必要があります。
  2. 不定パラメータの型は一貫している必要があります。
  3. 不定パラメータは空にすることもでき、その場合、スライスの長さはゼロになります。

これは、変数パラメーターを別の関数に渡す方法を示す別の例です:

func multiply(factor int, nums ...int) []int {
    result := []int{}
    for _, num := range nums {
        result = append(result, num*factor)
    }
    return result
}

func main() {
    result := multiply(2, 1, 2, 3)
    fmt.Println(result)  // Output: [2 4 6]
}
ログイン後にコピー

上の例では、multiply function という関数を定義しました。整数パラメータ factor と、不定数の整数パラメータ nums を受け入れます。関数の戻り値は整数のスライスであり、各要素は nums の要素に factor を乗算した結果です。

main 関数では、multiply 関数を呼び出し、パラメータ 21、2、3 を渡しました。この関数は、3 つの要素 2、4、6 を含むスライスを返します。このスライスを印刷します。

概要:

Golang では、不定パラメータを使用してさまざまな数のパラメータを簡単に処理できます。省略記号 (...) を使用して変数パラメーターを宣言し、それらを他の関数に渡すことができます。変数パラメーターを扱う場合、変数パラメーターは関数の最後のパラメーターである必要があり、変数パラメーターの型は一貫していなければならず、変数パラメーターは空であってもよいことに注意する必要があります。

以上がgolang の配列変数パラメータの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート