#dart #flutter
#dart #флаттер
Вопрос:
Я получил этот фрагмент кода, выполняемый в onPressed (). В списке есть 2 элемента, они отображаются во время отладки.
print("Got ${myList.length} elements");
myList.forEach((element) => () {
print('Hello there !!!!');
});
Я вижу «Есть 2 элемента» в консоли.
Однако отладка не переходит в цикл, и в консоли больше ничего не отображается.
Я относительно новичок в Flutter / Dar, и я застрял, поэтому я был бы признателен за любую помощь. Спасибо.
Ответ №1:
Измените это:
myList.forEach((element) => () {
print('Hello there !!!!');
});
К этому:
myList.forEach((element) {
print('Hello there !!!!');
});
Дополнительная информация здесь: https://api.dartlang.org/stable/2.2.0/dart-core/Iterable/forEach.html
Комментарии:
1. Это сработало. Спасибо. Не могли бы вы, пожалуйста, объяснить разницу? Я еще не полностью изучил все детали синтаксиса Dart.
2. Я обновил свой ответ, проверьте правильность реализации
3.
=>
означаетreturn
. В первом коде вы просто возвращаете функцию, но во втором вы фактически ее запускаете.4. @MichaelYuwono спасибо. Это было то, чего я не понял.