Go言語 – 6.関数・メソッド

2019-01-30

関数・メソッド

関数の定義

func 関数名(引数名 型) 戻り値の型 {
処理
}

例:引数と戻り値を共に、カンマ区切りで複数指定した。

関数の呼出し・戻り値の取得

上で作った関数を呼び出してみます。

1つ目の戻り値は無視する例。

deferステートメント

deferステートメントで記述した関数は、関数から復帰する直前(一番最後)に実行されます。
関数内で、複数のdeferステートメントを記載した場合は、先に書いたdeferステートメントの関数以外で、一番最後に実行されます。
※ファイルのクローズ等、開放しなければならないリソースの処理に利用します。

ここまでのコードで、実行可能なコードは下記の通りです。

メソッド

メソッドは構造体と結び付けることで作成できます。
下の例では、typeString構造体に、AddやOrgという名前で2つのメソッドを作成しています。

メソッドの定義
func (引数名 型) メソッド名(引数名 型) 戻り値の型 {
処理
}

今度は、構造体に値をセットする際に、メソッドを使ってみます。

値セットのメソッドで、レシーバーの型をポインターにしています(ans *typeString)
そうしないと、値を設定できません。