構造体とメソッドとは
構造体
複数の値をひとつにまとめて扱えるデータ構造
たとえば「名前」「年齢」「職業」のように、関連する情報をまとめてひとつの“かたまり”として扱うことができます。
メソッド
構造体にひもづく関数(機能)
構造体に“動作”を持たせることで、データとふるまいをセットで扱えるようになります。
書き方
func (r ReceiverType) MethodName() {
// メソッドの処理
}
| 部分 | 意味 |
|---|---|
(r ReceiverType) |
レシーバ。構造体の値を受け取る引数のようなもの |
MethodName() |
メソッド名 |
{ ... } |
実際の処理内容 |
メソッドの種類
| 概念 | 説明 |
|---|---|
| 値レシーバ | 構造体のコピーを受け取って処理 |
| ポインタレシーバ | 構造体のアドレス(参照)を受け取り、元のデータを直接変更 |
使い分け
| 目的 | 選ぶもの |
|---|---|
| データをまとめる | 構造体 |
| そのデータの動きを定義する | メソッド |
| メソッド内でデータを変えたい | ポインタレシーバ |
| データを変えず処理したい | 値レシーバ |
まとめ
構造体はデータをひとつにまとめて扱うための仕組みです。
メソッドを使うことで、そのデータにふるまい(動作)を持たせることができます。