What is the difference between calling the function without parentheses and with parentheses

前端 未结 5 873
甜味超标
甜味超标 2021-01-21 08:47

What is the difference between calling the function without parentheses and with parentheses on onPressed or Ontap?

I just know that void function can\'t be called with

5条回答
  •  一生所求
    2021-01-21 09:26

    _incrementCounter inside onPressed is a function reference, which basically means it is not executed immediately, it is executed after the user clicks on the specific widget.(callback)

    _incrementCounter() is a function call and it is executed immediately.

    Therefore, inside onPressed you can either pass a function reference or an anonymous function that will act as a callback.

    floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: Icon(Icons.add),
      ),
    

    or

    floatingActionButton: FloatingActionButton(
        onPressed: () {
            // Add your onPressed code here!
          },
        tooltip: 'Increment',
        child: Icon(Icons.add),
      ),
    

    The is not something specific to dart, it is also done in javascript and many other languages:

    What is the difference between a function call and function reference?

    Javascript function call with/without parentheses

提交回复
热议问题