В Dart Editor построить 27025, следующий код выдает ошибку синтаксиса на линии объявляющего геттер get x
:Почему этот getter внутри функции создает синтаксическую ошибку?
main() {
var _x;
set x(x) => _x = x; // This is okay
get x => _x; // Syntax error here
}
Обратите внимание, что связующий set x
не вызывает ошибку. Является ли это ошибкой в редакторе Дарта или я делаю что-то неправильно здесь?
Dart определяет геттеры и сеттеры как функции, поэтому они должны быть декларируемыми внутри других функций. Вот спецификация родственного языка: ** Функции включают объявления функций, методы, геттеры, сеттеры и литералы функций. ... Getters - это функции, которые используются для извлечения значений свойств объекта. ... Setters - это функции, которые используются для установки значений свойств объекта. ** – Ganymede