Dart 言語関数に `_` (つまり、アンダースコア) を唯一のパラメータとして渡すとはどういう意味ですか? 質問する

Dart 言語関数に `_` (つまり、アンダースコア) を唯一のパラメータとして渡すとはどういう意味ですか? 質問する

私は Dart を学習しており、次の慣用句をよく目にします。

someFuture.then((_) => someFunc());

次のようなコードも見たことがあります:

someOtherFuture.then(() => someOtherFunc());

これら 2 つの例には機能上の違いがありますか? つまり、_Dart 関数にパラメータとして渡すと何が起こりますか?

Dart では_プライベート関数を宣言するためのプレフィックスとして が使用されるため、これは特に混乱を招きます。

ベストアンサー1

_これは通常、使用せずに破棄する予定であるために命名された変数です。たとえば、代わりにxまたは という名前を使用できます。とfooの違いは単純で、一方の関数は引数を取り、もう一方は取りません。(_)()

プライベートでない識別子の先頭にアンダースコアを使用しないでください。

例外:未使用のパラメータには、_、__、___ などの名前が付けられます。これは、値が渡されるがそれを使用する必要がないコールバックなどで発生します。アンダースコアのみで構成された名前を付けることは、値が使用されていないことを示す慣用的な方法です。

https://dart.dev/guides/language/effective-dart/style

おすすめ記事