трепетание значения () для различных виджетов - PullRequest
0 голосов
/ 11 марта 2020

В следующий раз во флаттере я наткнулся на () используемый в коде, и я просто запомнил, когда они должны быть там. Однако я не совсем понимаю, что они имеют в виду, или даже как они называются.

Некоторые примеры:

setState((){count++})

FlatButton(child: Text("More Beer"), 
           onPressed: ()=> sendBeer())   // <-- I'm also interested if the two ()'s mean different things.

для sendBeer (), я бы вызвал () и указание, что sendBeer является функцией, и что она не принимает аргументов. Это само по себе отличается от ()?

Короче, можете ли вы объяснить, что такое "()" в этих примерах, как они называются и что они означают? [Кроме того, иногда я вижу это как (_) или даже (_,_,_)]

1 Ответ

1 голос
/ 11 марта 2020

Это не связано с виджетами / трепетанием. Это синтаксис для определения замыканий, которые являются функциями в качестве переменных.

Доступно два синтаксиса:

() => value;

и

() {
  return value;
}

Где () представляет аргументы вашей функции. Оно не должно быть строго () и может быть чем-то более сложным:

final example = (int variable, {String namedParameter}) => print($variable $namedParameter');

Что эквивалентно:

void example(int variable, {String namedParameter}) {
  print($variable $namedParameter');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...