私は Dart を学習しており、次の慣用句をよく目にします。
someFuture.then((_) => someFunc());
次のようなコードも見たことがあります:
someOtherFuture.then(() => someOtherFunc());
これら 2 つの例には機能上の違いがありますか? つまり、_
Dart 関数にパラメータとして渡すと何が起こりますか?
Dart では_
プライベート関数を宣言するためのプレフィックスとして が使用されるため、これは特に混乱を招きます。
ベストアンサー1
_
これは通常、使用せずに破棄する予定であるために命名された変数です。たとえば、代わりにx
または という名前を使用できます。とfoo
の違いは単純で、一方の関数は引数を取り、もう一方は取りません。(_)
()
プライベートでない識別子の先頭にアンダースコアを使用しないでください。
例外:未使用のパラメータには、_、__、___ などの名前が付けられます。これは、値が渡されるがそれを使用する必要がないコールバックなどで発生します。アンダースコアのみで構成された名前を付けることは、値が使用されていないことを示す慣用的な方法です。