Toán tử chấm chấm (..) trong Dart
1. Toán tử dot dot ( .. )
Trong ngôn ngữ lập trình Dart, toán tử dot dot ( .. ) cũng được hiểu là "cascade notation" (ký hiệu xếp tầng). Nó cho phép bạn không lặp lại cùng một mục tiêu nếu bạn muốn gọi một số phương thức trên cùng một đối tượng.
Ví dụ:
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]
}
Ví dụ: Gọi nhiều phương thức của cùng một đối tượng, sử dụng toán tử dot dot giúp code của bạn ngắn hơn.
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]
}
Trong các ngôn ngữ không hỗ trợ toán tử dot dot, để gọi một dẫy các phương thức liên tiếp nhau thì các phương thức này phải trả về một đối tượng. Chẳng hạn:
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
}
Toán tử dot dot giúp bạn gọi một dẫy các phương thức mà các phương thức này không cần thiết phải trả về một đối tượng. Chúng ta viết lại ví dụ trên.
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
}
Các hướng dẫn lập trình Dart
- Kiểu dữ liệu Boolean trong Dart
- Hướng dẫn và ví dụ hàm trong Dart
- Hướng dẫn và ví dụ Dart Closures
- Interface trong Dart
- Hướng dẫn và ví dụ phương thức trong Dart
- Constructor trong Dart
- Property trong Dart
- Toán tử chấm chấm (..) trong Dart
- Hướng dẫn và ví dụ Dart Generics
- Lập trình Dart với công cụ trực tuyến DartPad
- Cài đặt Dart SDK trên Windows
- Cài đặt Visual Studio Code trên Windows
- Cài đặt Dart Code Extension cho Visual Studio Code
- Cài đặt Dart Plugin cho Android Studio
- Chạy ví dụ Dart đầu tiên của bạn trong Visual Studio Code
- Chạy ví dụ Dart đầu tiên của bạn trong Android Studio
- Dart JSON với thư viện dart:convert
- Hướng dẫn và ví dụ Dart List
- Biến (Variable) trong ngôn ngữ Dart
- Hướng dẫn và ví dụ Dart Map
- Vòng lặp trong Dart
- Xử lý Dart JSON với gói dart_json_mapper
- Trình chuyển đổi mã nguồn (Transpiler) là gì?
- Phân tích XML trong Dart
- Hướng dẫn và ví dụ Dart http
- Hướng dẫn và ví dụ Dart Future
- Các phương thức mở rộng (Extension) trong Dart
- Mixins trong Dart
- Bài thực hành Dart phân tích JSON với gói dart:convert
- Bài thực hành Dart http CRUD
- Từ khoá part và part of trong Dart
- Hướng dẫn và ví dụ Dart Dio
Show More