Go における関数の引数としての複数の戻り値
Go では、関数は複数の値を返すことができ、コードの構造化と再利用に役立ちます。 。ただし、これらの戻り値を引数として別の関数に渡す場合、特定の制限が適用されます。
複数の戻り値に関する制限
関数 returnIntAndString( ) 2 つの値 (整数と文字列) を返す場合、次のように、戻り値を使用して別の関数 doSomething(int, string) を問題なく呼び出すことができます。
<code class="go">doSomething(returnIntAndString())</code>
ただし、追加の関数を追加すると、 doSomething() への引数 (メッセージ文字列など) を次のように呼び出すと Go がエラーを出します:
<code class="go">doSomething("message", returnIntAndString())</code>
コンパイル エラー:
回避策
Go の仕様では、追加のパラメーターを持つ関数に複数の戻り値を引数として渡すことは許可されていません。内部関数は、外部関数のパラメーターに必要な値の正確な数を返す必要があります。この条件が満たされない場合は、次のように戻り値を変数に代入し、関数を個別に呼び出す必要があります。
<code class="go">code, str := returnIntAndString() doSomething("message", code, str)</code>
結論として、Go の複数の戻り値はコードの再利用性を高めることができますが、制限があります。異なるパラメータ数を持つ他の関数に引数として渡す場合。この問題が発生した場合は、手動で割り当てて別の関数を呼び出す必要があります。
以上がGoで複数の戻り値を引数としてパラメータ数が異なる関数に渡すことはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。