Flutter/Dart - () {} と () => {} の違い 質問する

Flutter/Dart - () {} と () => {} の違い 質問する

Flutter/Dart の例では、太い矢印が表示される場合と表示されない場合があります。次に例を示します。

RaisedButton(
  onPressed: () {
    setState(() {
      _myTxt = "Text Changed";
    });
  },

他にも次のようなものがあります:

void main() => runApp(MyApp());

ベストアンサー1

ファットアロー構文は、式を返すための単なる短縮形であり、に似ています(){ return expression; }
ドキュメント

注記:矢印(=>)とセミコロン(;)の間には式のみを記述できます。文は記述できません。たとえば、if文を記述することはできませんが、条件式は使用できます。

void main(){
    final cls = TestClass();
    cls.displayAnInt((){
       //you can create statements here and then return a value
       int num1 = 55;
       int num2 = 1;
       int sum = num1 + num2;
       return sum;
    });
   cls.displayAnInt(() => 55 + 1); // simply return an int expression
}
class TestClass{

    displayAnInt(makeIntFunc){

       int intValue = makeIntFunc();
       print('The int value is $intValue');
    }
}

上記のコードから、コールバック関数が使用され値が返されるときに複数行のステートメントを作成できることがわかりますが、ファット矢印には return キーワードのない式だけがあります。

太い矢印が dart の複数行ステートメントをサポートしていないというあなたの回答を考慮してください。 を実行すると() => {somtheing}マップが返され、() => {'name':'John', 'age':25}ではなく のようなものが表示されることが予想されるため、これは非常に理解できます() => { _myTxt = "Text Changed";_myTxt = "Never Mind"; }

おすすめ記事