Go言語 関数 #14

Go言語にはクラスがないので関数は非常に重要です。
Go言語の関数は第一級関数で、引数として渡せたり、戻り値として返せたりできます。

関数は大きく分けると2種類あります。
プログラム言語に初めから用意されている「組み込み関数」と、自分で作成する「ユーザー関数」です。
よく使うfmt.Println()は、fmtパッケージで初めから用意されている関数です。
ここでは後者の自分で作成する「ユーザー関数」について見ていきます。

関数とは

そもそも関数とは、プログラム内でよく使う処理をまとめたものです。
Go言語の場合main関数は最低限必要ですが、その中に何十行、何百行、何千行にも渡ってプログラムを書いていくことは可能です。しかし、そのようにプログラムを書くと、可読性が悪くなったり、メンテナンスが大変だったり、同じことを何回も書かねばならなかったりと効率が悪くなります。

関数の書き方

関数を定義するときは、funcキーワードを使用します。

引数も戻り値もない関数の場合

func 関数名() {
 なんらかの処理
}

The Go Playground で実行する

test1関数をmain関数の下に書いても問題ありません。

The Go Playground で実行する

引数がある関数の場合

引数とは「ひきすう」と読みます。関数に渡された値や変数のことを言います。
引数には仮引数と実引数があります。

func 関数名(仮引数 仮引数の型) {
 なんらかの処理
}

The Go Playground で実行する

複数の引数を渡すことも可能です。

func 関数名(仮引数 仮引数の型,仮引数 仮引数の型…) {
 なんらかの処理
}

同じ型の引数なら下のように書くこともできます。

func 関数名(仮引数 ,仮引数 仮引数の型) {
 なんらかの処理
}

The Go Playground で実行する

戻り値がある関数の場合

returnで返します。

func 関数名(仮引数 仮引数の型)戻り値の型 {
 なんらかの処理
 return 戻り値
}

The Go Playground で実行する

複数の戻り値も返せます。

The Go Playground で実行する

戻り値に名前をつけると、returnだけで返却できます。

The Go Playground で実行する

可変長引数

可変長引数を使うには…を書きます。
可変長引数はスライスになります。

The Go Playground で実行する

シェアする

  • このエントリーをはてなブックマークに追加

フォローする