スキップしてメイン コンテンツに移動

Go関数基礎:引数と戻り値

Go関数基礎:引数と戻り値

はじめに

Go初心者の皆さん、関数基礎を学ぶ上で最も重要なのは、funcというキーワードとその構文を正しく理解することです。関数はプログラムを小さな単位に分割し、再利用性と可読性を高めるための基本的な構造です。この記事では、関数定義から呼び出し、引数・パラメータ、戻り値、複数戻り値、名前付き戻り値までを順を追って解説します。

funcの基本構文

Goで関数を定義する際は、funcキーワードを使います。以下は最もシンプルな関数定義の例です。

func greet() {
    fmt.Println("Hello, World!")
}

この例では、戻り値を持たない関数です。関数名はgreet、引数リストは空です。関数本体は波括弧で囲まれ、実行したい処理を書きます。

引数とパラメータ

関数に値を渡すために、引数(パラメータ)を定義します。引数は型と名前を必ず指定します。

func add(a int, b int) int {
    return a + b
}

上記のadd関数は、int型のを受け取り、int型の結果を返します。引数名は関数内部で変数として扱われます。

戻り値と複数戻り値

Goでは関数は複数の値を返すことができます。戻り値は型をカンマで区切って列挙します。

func divide(a, b int) (int, error) {
    if b == 0 {
        return 0, fmt.Errorf("division by zero")
    }
    return a / b, nil
}

この例では、整数とエラーの2つの値を返します。呼び出し側は戻り値を受け取る変数を用意し、:=で受け取ります。

名前付き戻り値と実践例

戻り値に名前を付けると、関数本体内で直接値を設定でき、return文を省略できます。

func swap(x, y int) (a int, b int) {
    a = y
    b = x
    // return a, b  // 省略可
}

名前付き戻り値は、特に複数の戻り値を扱う際に可読性を向上させます。また、関数の最後にreturnを書くだけで、名前付き戻り値が自動的に返されます。

まとめ

Go初心者にとって、関数基礎はプログラムの構造を理解する上で欠かせません。funcで関数定義を行い、引数・パラメータでデータを渡し、戻り値で結果を返します。複数戻り値や名前付き戻り値を活用することで、エラーハンドリングやデータの返却がより直感的になります。これらの概念を押さえて、実際にコードを書きながら慣れていきましょう。

この記事はAIによって作成されました。

コメント