다트 (Dart) 캐스케이드 연산자 (Cascade operator) 란?
..
을 말한다.- 동일한 객체에 대해 일련의 연산을 수행할 수 있다.
예제 코드 1
- 캐스케이드 연산자의 결과가 계속
Container
객체를 리턴해주기 때문에 아래와 같은 형식으로 값 할당이 가능하다.
var container = Container()
..width = 200.0
..height = 100.0
..padding = EdgeInsets.all(8.0)
..alignment = Alignment.center
..color = Colors.blue
..child = Text('Hello World');
예제 코드 2
var list = []
..add('Apple')
..add('Banana')
..add('Cherry');
예제 코드 3
..sort()
의 결과는..
앞에 있던 배열이 된다.- 캐스케이드 연산자 (
..
) 를 쓰지 않는다면,sort()
의 결과는void
가 되어버렸을 것이다.
void createSchedule({
required ScheduleModel schedule
}) async {
final targetDate = schedule.date;
final savedSchedule = await repository.createSchedule(schedule: schedule);
cache.update(targetDate, (value) => [
...value,
schedule.copyWith(
id: savedSchedule
)
]..sort(
(a, b) => a.startTime.compareTo(b.startTime)
),
ifAbsent: () => [schedule]
);
notifyListeners(); // 리슨하는 위젯들 업데이트
}
반응형
'Dart' 카테고리의 다른 글
Dart 에서 CopyWith 메서드를 쓰는 이유 (0) | 2023.12.16 |
---|---|
Dart 에서 import hide 이용하기 (0) | 2023.12.15 |
Dart 의 Null-safe 언어적 특성 (0) | 2023.12.15 |
다트의 비동기 지원 (Asynchronous Support) (0) | 2023.10.22 |
다트 비동기 프로그래밍 (Future, Async, Await) (0) | 2023.10.22 |