ホームページ > バックエンド開発 > Golang > golangで不定パラメータを返す方法

golangで不定パラメータを返す方法

PHPz
リリース: 2023-04-24 10:42:14
オリジナル
967 人が閲覧しました

golang 関数を作成するときに、不定のパラメータを返す必要がある場合がありますが、この場合は golang の可変長パラメータ機能を使用できます。この記事では、golangで不定パラメータと可変長パラメータを返す方法を紹介します。

1. 不定パラメータの戻り値

golang では、関数は複数の値を返すことができます。次の方法で固定数のパラメータを返すことができます:

func foo() (int, int) {
    return 1, 2
}

a, b := foo() // a = 1, b = 2
ログイン後にコピー

ただし、場合によっては可変数のパラメータを返す必要があり、その場合は不定パラメータの返しを使用する必要があります。

以下は、可変数の int 型パラメーターを返す方法を示す例です:

func foo(args ...int) []int {
    length := len(args)
    result := make([]int, length)
    
    for i, v := range args {
        result[i] = v
    }
    
    return result
}

a := foo(1, 2, 3, 4, 5) // a = [1, 2, 3, 4, 5]
ログイン後にコピー

上記のコードでは、可変数のパラメーターを持つ関数を定義しますfoo ()args ...int を通じて、任意の数の int 型パラメータを受け入れ、それらをスライスに格納し、最後にスライスを返すことができます。

args ...int 構文はパラメータ リストの最後の位置に配置する必要があることに注意してください。

2. 可変長パラメータの使用

golang では、関数は無制限の数のパラメータを受け入れることができます。次の方法で、可変長パラメータを持つ関数を定義できます。

func foo(args ...interface{}) {
    for _, v := range args {
        fmt.Println(v)
    }
}
ログイン後にコピー

上記のコードでは、interface{} を使用して、任意のタイプのパラメータを受け取ることができることを示し、 args ...インターフェース{}メソッド定義。

この関数を呼び出すときは、以下に示すように、任意の数のパラメータを渡すことができます。

foo(1, "hello", true, 3.14) // 1, hello, true, 3.14
ログイン後にコピー

可変長パラメータはパラメータの最後の位置に配置する必要があることに注意してください。リスト。

実際のアプリケーションでは、可変長パラメーターを使用すると、特にパラメーターの数が決まっていない関数のコードを大幅に簡素化できます。

3. 概要

この記事では、golang で無限の数のパラメーターを返し、可変長パラメーターを使用する方法を紹介します。可変パラメータを返すと、パラメータ数に制限のない柔軟な関数を実装できます。また、可変長パラメータを使用すると、コードを簡素化し、効率を向上させることができます。この記事が読者のお役に立てれば幸いです。

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

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