Go言語における「引数と戻り値」は、関数の定義と呼び出しの基本構成要素であり、関数がどのような値を受け取り、どのような値を返すのかを指定します。以下に詳しく説明します。
1. 関数の引数(Parameters)
Goの関数は、複数の引数を取ることができ、各引数には型を指定する必要があります。
基本構文
例
上記の関数addは、2つのint型の引数aとbを受け取り、その合計を返します。
同じ型の引数の省略記法
複数の引数が同じ型である場合、型をまとめて記述できます。
2. 可変長引数(Variadic Parameters)
Goでは、最後の引数に限り、任意の数の引数を受け取る「可変長引数」を使うことができます。
例
このsum関数は任意の数の整数を受け取り、それらを合計します。
3. 戻り値(Return Values)
Goの関数は戻り値を持つことができます。戻り値の型は引数の後に記述します。
単一の戻り値
複数の戻り値
Goでは複数の値を同時に返すことが可能です。
このdivide関数は商と余りの2つのint値を返します。
4. 名前付き戻り値(Named Return Values)
戻り値に名前を付けることもできます。これにより、関数内でその変数を直接操作でき、return文で値を省略可能です。
5. 戻り値のゼロ値(Zero Value)
戻り値を指定していてもreturn文を使って値を返さなかった場合、Goは型のゼロ値(初期値)を返します。例えば、int型なら0、string型なら""(空文字)です。
まとめ
| 機能 | 説明 |
|---|---|
| 引数 | 複数指定可能。同型は省略記法あり。 |
| 可変長引数 | 最後の引数に...型を指定して任意個受け取れる。 |
| 単一戻り値 | func f(...) 型 {} の形式で返す。 |
| 複数戻り値 | func f(...) (型1, 型2) の形式で返す。 |
| 名前付き戻り値 | 戻り値に名前を付けて関数内で直接操作できる。 |
| ゼロ値の戻り値 | 値を返さない場合、戻り値型のゼロ値が返される。 |
生成日:2025/05/03