コードの中で出てくる、” => ” って一体何なんだろう?」
本記事ではそんな疑問にお答えします。
Flutter / Dart で頻出する、 ” => “を使ったアロー構文 について解説します。
サンプルコードを紹介の上、どのような用途で使うのか詳細に解説します。
ぜひ読んでみてください!
アロー構文 ” => ” とは?
コードリーディング中、以下のようなコードを見たことはありませんか?
final list = <int>[1, 2, 3];
final sum = list.fold<int>(0, (a, b) => a + b);
print(sum); // 6
2行目のfold
メソッドで、矢印のような記号 ” => ” が使われています。
この” => “を使った書き方 をarrow syntax (アロー構文)と呼びます。
アロー構文は関数の定義の記法で、
式を” => “の右側で実行し、その結果を返す関数を定義する記法となります。
具体的には上記コードは以下のコードと同じになります。
final list = <int>[1, 2, 3];
final sum = list.fold<int>(0, (a, b) {
return a + b;
});
print(sum); // 6
中身がreturn
1行のみの関数と同じになるわけですね。
以上が” => ” の役割、アロー構文の解説となります。
サンプルコード
最後にサンプルコードを紹介します。
先の例ではfold
の中の関数の定義にアロー構文を用いましたが、
以下のようにクラス内のメソッドの定義でも使用可能です。
void main(List<String> arguments) {
final people = People(height: 1.65, weight: 65.2);
print(people.bmi); // 23.948576675849406
people.say('Hello'); // Hello
}
class People {
People({required this.height, required this.weight});
final double height;
final double weight;
double get bmi => weight / (height * height);
void say(String message) => print(message);
}
以上がサンプルコードとなります。
まとめ
本記事ではFlutter / Dart で頻出する、 ” => “を使ったアロー構文 について解説しました。
サンプルコードを紹介の上、どのような用途で使うのか詳細に解説しました。
いかがだったでしょうか?
アロー構文はFlutterのコードリーディング中に頻出する記法です。
覚えておけばコードの理解がスムーズになるので、ぜひ覚えておいてください!
本記事があなたのアプリ開発の一助となれば幸いです。
参考
編集後記(2022/11/2)
アロー構文についての記事でした。
こういうコードの書き方って検索するのに困りますよね。
あなたはどんな検索ワードでこの記事にたどり着いたんでしょうか?
” => ” で検索してたどり着いたのであれば、
願ったり叶ったりというか、ユーザーフレンドリーだな、と思います。
アロー構文、というキーワードがわかる人は、
そもそもこの記事が必要ないくらい理解しているのでは、という気持ちがありますね。
結局の所今回紹介した内容は、書き方、読み方の問題なので、
漢字を覚えるような形で素直にインプットしてもらえたらな、と思います。
=> を見た時にこんな記事あったな、と思い出してもらえれば幸いです。
週刊Flutter大学では、Flutterに関する技術記事、Flutter大学についての紹介記事を投稿していきます。
記事の更新情報はFlutter大学Twitterにて告知します。
ぜひぜひフォローをお願いいたします。