JavaScriptを有効にしてください

Go言語の関数について学ぼう!

関数とは、ある特定のタスクを実行するためのコードのまとまりです。Go言語における関数の書き方や使い方を初心者にも分かりやすく説明します。

関数とは

関数とは、一連の手続きをひとまとまりにしたもので、特定の値を受け取って、何らかの結果を返す役割を持ちます。関数を利用することで、同じような処理を何度も書く必要がなくなり、コードの再利用性が高まります。

Go言語での関数の定義方法

Go言語で関数を定義するためには、以下のように書きます。

1
2
3
4
func 関数名(パラメータ パラメータの型) 戻り値の型 {
    // 関数の中身
    return 戻り値
}

ここでは、funcは関数を定義するためのキーワードです。関数名は自由に名付けることができますが、何をする関数なのかが分かる名前にすると良いでしょう。

パラメータは関数に渡す値のことで、その型も一緒に指定します。複数のパラメータを渡すことも可能で、その場合はカンマで区切ります。パラメータがない場合は、カッコ内を空にします。

戻り値の型は関数が返す値の型を指定します。戻り値がない場合は、この部分を省略することが可能です。

関数の例

それでは、具体的な関数の例を見てみましょう。

1
2
3
func add(x int, y int) int {
    return x + y
}

この関数addは、2つの整数xyを引数として受け取り、その和を返します。

関数を呼び出す際は、以下のようにします。

1
2
3
4
func main() {
    result := add(3, 5)
    fmt.Println(result)  // 8
}

複数の戻り値とは?

たとえば、ある関数が複数の値を計算し、そのすべてを返したい場合には、どうすればよいでしょうか?一部の言語では、複数の値を返すために配列やオブジェクトを使用します。しかし、Go言語では、関数が複数の値を直接返すことができます。これが複数の戻り値です。

1
2
3
4
func 関数名(仮引数リスト) (戻り値の型1, 戻り値の型2) {
    // 処理
    return 戻り値1, 戻り値2
}

複数の戻り値の例

以下に、Goの複数の戻り値の使用例を示します。

1
2
3
func vals() (int, int) {
    return 3, 7
}

この関数vals()は、2つの整数を返します。この関数を呼び出してその結果を受け取るには、以下のようにします:

1
2
3
4
5
func main() {
    a, b := vals()
    fmt.Println(a)
    fmt.Println(b)
}

これは、2つの戻り値を2つの異なる変数に割り当てる例です。または、ある関数から返される複数の値のうち、一部だけを使用したい場合には、ブランク識別子_を使用します:

1
2
3
4
func main() {
    _, b := vals()
    fmt.Println(b)
}

このコードでは、vals()関数から返される第1の戻り値は無視され、第2の戻り値だけが使用されています。

以上、Go言語の関数について説明しました。関数を使うことで、コードが簡潔になり、再利用性も向上します。Go言語における関数の定義方法と使い方を覚えて、より良いコードを書けるようになりましょう!


スポンサーリンク

共有

もふもふ
著者
もふもふ
プログラマ。汎用系→ゲームエンジニア→Webエンジニア→QAエンジニア