[Dart][Flutter]引数のアンダースコア( _ )は何?

Dart

どうも、ちょげ(@chogetarou)です。

DartもしくはFlutterで引数にアンダースコアを使っていることがあります。

ぱっと見ではどういう意味なのか分かりませんよね。

そこで、この記事では、引数の「アンダースコア」について解説します。

スポンサーリンク

引数のアンダースコア

インターフェース, インターネット, プログラム, ブラウザ, Www

引数に使われるアンダースコアは、引数を省略したものです。

基本的には、関数やメソッドは、引数に渡した値を使って処理を行います。

ですが、引数を指定しても使わないこともあります。

このように処理には使わない引数を省略するのがアンダースコア(_)です。

例えば、Flutterの「builderメソッド」には、「BuildContext」引数があります。

builder : (BuildContext context) {
    //コード
}

この引数は、builderメソッドに必須なのですが、使わないことが多いです。

こういった必須だけど処理には使わない引数で、アンダースコアを使います。

builder : (_) {
    //コード
}

長い「BuildContext」の記述は省略し、楽になり、更には読みやすくもなります。

このようにアンダースコアは、使わない引数を省略することが出来るのです。

「_」の注意点は、省略する引数が増えるごとに、「_」を増やさなければいけない点です。

例えば、3つの引数を省略するならば次のようになります。

example (_, __, ___){ };

まとめ

引数のアンダースコアは、メソッドや関数の引数を省略するためのものです。

処理に使わない引数を「_」と書くことによって、コードを簡潔にすることが出来ます。

コメント

タイトルとURLをコピーしました