Оператор каскад
Оператор каскад .. позволяет выполнять
последовательность операций над одним и тем же
объектом. Он возвращает сам объект, а не результат
вызова метода или обращения к свойству. Это
позволяет строить цепочки вызовов без повторного
указания имени объекта. Первым операндом является
объект, над которым выполняются действия, а
далее через .. указываются методы или
свойства этого объекта.
Синтаксис
object..method1()..method2()..property = value
Пример
Давайте создадим список и с помощью каскада добавим в него элементы и выведем результат:
void main()
{
List<int> res = []
..add(1)
..add(2)
..add(3);
print(res);
}
Результат выполнения кода:
[1, 2, 3]
Пример
Давайте используем каскад для изменения
нескольких свойств объекта и вызовем метод
print на самом объекте:
class User
{
String name = '';
int age = 0;
void info()
{
print('$name, $age');
}
}
void main()
{
User user = User()
..name = 'abcde'
..age = 25
..info();
}
Результат выполнения кода:
"abcde, 25"
Пример
Давайте применим каскад к строке и выполним над ней несколько операций:
void main()
{
String res = 'abcde'
..toUpperCase()
..substring(1);
print(res);
}
Результат выполнения кода:
"abcde"
Смотрите также
-
оператор
cascade-null,
который работает с null-объектами -
ключевое слово
this,
которое ссылается на текущий объект -
ключевое слово
new,
которое создает экземпляр класса -
оператор
spread,
который разворачивает коллекции