5章関数

これまでのプログラムは関数mainだけで、多くは数行程度のものでしたが、ここからはもっと長いプログラムを書く準備をします。この章では、Go言語の関数の書き方を説明し、関数を使ってできる興味深いことをいろいろ見ていきます。

5.1 関数の宣言と呼び出し

Go言語の関数の基本は、C、Python、Ruby、JavaScriptといった「第1級関数」のある言語でプログラミングをしたことがあればすでによく知っていることばかりです(Goには7章で説明する「メソッド」もあります)。制御構造にはいろいろな工夫がなされていましたが、関数についても同様です。ただし、実験的な機能もあるので、すべてが「お勧め」というわけではありません。

実のところ、すでに関数を何度も使っていました。関数mainは今まで書いたすべてのプログラムで宣言しました。すべてのGoプログラムの実行開始場所だからです。また、関数fmt.Printlnで出力を画面に表示しました。とは言え、関数mainは引数を取りませんし、値も返しません。引数を取り値を返す関数がどのようなものになるか見てみましょう。割り算をする関数ですが、0で割ろうとする0を返してくれる関数です(ch05/ex0501.gohttps://musha.com/scgo?ex=0501)。

例5-1 関数の定義

func div(numerator int, denominator int) int { // 分子, 分母
    if denominator == 0 {
        return 0
    }
    return numerator / denominator
}

新しい点を見ていきましょう。関数の宣言は、キーワードfunc、関数名、引数、戻り値(返り値)の型の4つの部分から構成されています。引数は「 ...

Get 初めてのGo言語 ―他言語プログラマーのためのイディオマティックGo実践ガイド now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.