dartの関数の書き方で「bool get 関数名」のgetの意味を教えてほしい。
それは Getter と呼ばれるものです。
https://dart.dev/guides/language/language-tour#getters-and-setters
質問のコードの場合、get をつけることで、メソッドをメンバー変数であるかのように扱うことができます。
通常であれば(get がない場合は)
dart
1var available = myClass.isAvailable();
となりますが、get があることで
dart
1var available = myClass.isAvailable;
と書けます。
たとえば下記_name はプライベート変数ですが、値の取得だけは可能にさせたいとします。
その場合、通常のメソッドだと下記のような書き方になります。
dart
1class MyClass {
2 // _name はプライベート変数なので、通常外部からアクセスできない
3 String _name = 'John';
4 // 取得用のメソッドを定義
5 String getName() {
6 return _name;
7 }
8}
9
10var obj = MyClass();
11
12// メソッドを通じて、変数 _name にアクセス
13print(obj.getName()); // 出力: John
14
15// プライベート変数なので直接のアクセスは不可
16obj._name = 'Mike'; // エラー
17print(obj._name); // エラー
しかし、わざわざ1つ1つの変数に対して 「getなんたら」みたいなメソッド名を作ったり、呼び出すときに括弧が必要なのは面倒なので、下記のようにGetterを作ります。
dart
1class MyClass {
2 // _name はプライベート変数なので、通常外部からアクセスできない
3 String _name = 'John';
4 // Getterを定義
5 String get name {
6 return _name;
7 }
8 /*
9 // returnが1行で済むなら、次のようにも書ける。こちらの方が一般的。
10 String get name => _name;
11 */
12}
13
14var obj = MyClass();
15
16// Getter を通じて、変数 _name にアクセス
17print(obj.name); // 出力: John