世界最大級のオンライン学習サービス「Udemy(ユーデミー)」とは?

【Flutter/Dart】無名関数(Anonymous Function)とは?

今回はDart言語における「無名関数(Anonymous Function)」の概念と使い方について解説していきます。

プログラミング初心者でも理解しやすい内容になっているのでぜひ最後までご覧ください。

目次

プログラミング言語における「無名関数」とは?

まずはプログラミング言語における無名関数とは何かについて解説していきます。

無名関数とはその名の通り「名前の無い関数」のことです。

main()runApp()など通常の関数を定義する際は型と任意の名前を指定しますが、無名関数では次のように書きます。

//引数なし
(){
  処理..
}

//引数あり
(引数){
  処理..
}

無名関数のメリット

無名関数を使用するメリットは「関数の名前を考える必要がなくなる」点です。

例えばFlutterのElevatedButtonではonPressedの引数に無名関数が使用されていますが、今回のように関数の引数(プロパティ)に別の関数を渡す場合など、いちいち関数に名前をつけるのが手間な場合などに使用されます。

ElevatedButton(
  child: Text('Click'),
  onPressed: () {
    print('クリックされました');
  },
}

先ほどのonPressedに通常の関数を渡すこともできますが、関数を一度しか使わない場合はわざわざ関数を管理するのが面倒ですし、関数の名前が重複してしまう恐れがあったりするので無名関数の方が便利だと思われます。

//通常の関数を定義
void clicked() {
  print('クリックされました');
}

...

ElevatedButton(
  child: Text('Click'),
  onPressed: clicked, //通常の関数を引数とする
)

まとめ

今回はDart言語における「無名関数」の基本的な使い方について解説しました。

参考サイト

目次