Оператор точка-точка (..) в Dart
1. Оператор dot dot ( .. )
В языке программирования Dart оператор dot dot ( .. ) также интерпретируется как "cascade notation" (каскадная нотация). Это позволяет вам не повторять одну и ту же цель, если вы хотите вызвать несколько методов для одного и того же объекта.
Например:
dotdot_ex1.dart
void main() {
var list1 = [];
list1..add('One')..add('Two')..add('Three');
print(list1); // [One, Two, Three]
// Same as:
var list2 = [];
list2.add('One');
list2.add('Two');
list2.add('Three');
print(list2); // [One, Two, Three]
}
Например: Вызов нескольких методов одного и того же объекта с помощью оператора dot dot делает ваш код короче.
dotdot_ex2.dart
void main() {
var list1 = [];
list1..add('One')..add('Two')..addAll(['Three', 'Four', 'Five']);
print(list1); // [One, Two, Three, Four, Five]
// Same as:
var list2 = [];
list2.add('One');
list2.add('Two');
list2.addAll(['Three', 'Four', 'Five']);
print(list2); // [One, Two, Three, Four, Five]
// Same as:
var list3 = []..add('One')..add('Two')..addAll(['Three', 'Four', 'Five']);
print(list3); // [One, Two, Three, Four, Five]
}
В языках, которые не поддерживают оператор dot dot, для вызова последовательности методов, методы должны возвращать объект. Такие как:
without_dotdot_ex1.dart
class Calculator {
double _accumulator = 0;
Calculator(double startValue) {
_accumulator = startValue;
}
Calculator add(double val) {
_accumulator += val;
return this; // Return this object.
}
Calculator subtract(double val) {
_accumulator -= val;
return this; // Return this object.
}
double result() {
return _accumulator;
}
}
void main() {
var calc = Calculator(100);
var result = calc.add(100).subtract(50).subtract(25).result();
print(result); // 125
}
Оператор dot dot помогает вызывать ряд методов, которые не обязательно возвращают объект. Мы перепишем приведенный выше пример.
with_dotdot_ex1.dart
class Calculator {
double _accumulator = 0;
Calculator(double startValue) {
_accumulator = startValue;
}
void add(double val) {
_accumulator += val;
}
void subtract(double val) {
_accumulator -= val;
}
double result() {
return _accumulator;
}
}
void main() {
var calc = Calculator(100);
calc..add(100)..subtract(50)..subtract(25);
var result = calc.result();
print(result); // 125
}
Pуководства Dart
- Тип данных Boolean в Dart
- Функции в Dart
- Замыкания (Closure) в Dart
- Методы в Dart
- Свойства в Dart
- Оператор точка-точка (..) в Dart
- Программирование Dart с помощью онлайн-инструмента DartPad
- Установите Dart SDK в Windows
- Установите Visual Studio Code в Windows
- Установите Dart Code Extension для Visual Studio Code
- Установите Dart Plugin для Android Studio
- Запустите свой первый пример Dart в Visual Studio Code
- Запустите свой первый пример Dart в Android Studio
- Dart JSON với thư viện dart:convert
- Руководство Dart List
- Переменные в Dart
- Руководство Dart Map
- Циклы в Dart
Show More