<Flutter> Dart 에서의 Fold
- Developer/Flutter
- 2023. 7. 23.
반응형
Dart의 Fold 메서드
fold
메서드는 Dart 언어에서 Iterable
클래스의 메소드로 제공됩니다. 이를 사용하면 목록의 값들을 결합하여 단일 값으로 축소할 수 있습니다.
함수 원형:
T fold<T>(T initialValue, T combine(T previousValue, E element))
initialValue
: 반복을 시작할 때 기본값으로 사용되며, 최종 결과의 타입도 결정합니다.combine
: 이 함수는 이전 값과 현재 원소를 결합하여 새로운 결과를 생성하는 데 사용됩니다.- 결과적으로,
fold
메서드는combine
함수를 사용하여 목록의 모든 원소를 하나의 결과 값으로 축소합니다.
Fold 메서드 사용 예제
1. 리스트의 합 구하기
void main() {
final numbers = [1, 2, 3, 4, 5];
final sum = numbers.fold(0, (accumulator, current) {
return accumulator + current;
});
print('합계: $sum'); // 출력: 합계: 15
}
2. 최대값 찾기
void main() {
final numbers = [5, 2, 8, 1, 6];
final maxNumber = numbers.fold(numbers[0], (max, current) {
return max > current ? max : current;
});
print('최대값: $maxNumber'); // 출력: 최대값: 8
}
3. 문자열 합치기
void main() {
final words = ['Hello', 'Flutter', 'Dart'];
final sentence = words.fold('', (accumulator, currentWord) {
return accumulator.isEmpty ? currentWord : '$accumulator $currentWord';
});
print(sentence); // 출력: Hello Flutter Dart
}
위의 예제들처럼 Dart 언어의 fold
메서드를 사용하여 다양한 목적의 데이터 축소 작업을 수행할 수 있습니다. 이를 통해 코드가 깔끔해지고 읽기 쉬워집니다.
'Developer > Flutter' 카테고리의 다른 글
<Flutter> api 에서 응답받은 xml 을 json으로 변환 (0) | 2023.07.26 |
---|---|
<Flutter> Hive: 간편한 로컬 데이터 저장 및 사용법 (0) | 2023.07.24 |
Flutter로 안드로이드 앱 빌드하기 (0) | 2023.07.18 |
<Flutter> Hex를 Color에 적용하기 (0) | 2023.07.16 |
<Flutter> Repository에 대해 (0) | 2023.07.11 |