Dart Functions
Dart言語における関数の書き方をまとめます。
関数の書き方
何も省略しないパターン
// 戻り値の型 関数名(引数の型 引数名)
bool isNomal(String str) {
return 'Nomal' == str;
}
型を省略して書けます。
しかし、あまり推奨されてないみたいです。(公式)
isNomal(str) {
return 'Nomal' == str;
}
Javascriptみたいに短くもできます。
String isNomal(String str) => 'Nomal' == str;
引数のデフォルト値
関数の引数にデフォルト値を埋め込むことが可能です。(けっこう便利かも)
main(List<String> args) {
enableFlags(); //true false
enableFlags(bold: false,hidden: true); // false true
}
void enableFlags({bool bold:true,bool hidden:false}) {
print(bold);
print(hidden);
}
デフォルト値を使用する際は{}で引数をくくります。
また、関数を使用するときは引数名:値の形式をとります。
関数をオブジェクトのように扱う
dartの関数は関数をオブジェクトのように扱え、関数の引数に指定することなどが可能です。
main(List<String> args) {
List<int> list = [1,2,3];
list.forEach(printElement); // ここ
}
void printElement(int element) {
print(element);
}
匿名関数
関数を引数に渡す場合にその場で宣言をする方法です。
main(List<String> args) {
List<int> list = [1,2,3];
list.forEach((item){ // ここがちょっと違う
print(item);
});
}