Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- Device
- 성경필사
- 생명주기
- ipykernel
- zani
- receive_sharing_intent
- Share
- flutter
- velocity_x
- 소스제공
- uni_links
- extention
- python
- GIT
- dart
- Flask
- widgetsBindingObserver
- Jupyter Notebook
- dynamic color
- Anaconda
- annotation
- vscdoe
- 워드파일
- 개역개정
- inheritedWidget
- git설치
- handlebars.js
- google search console
- cache
- 미색인
Archives
- Today
- Total
자니노트
Dart equatable 라이브러리 설명 및 사용법 본문
equatable은 Dart에서 객체의 동등성을 쉽게 구현할 수 있도록 도와주는 패키지입니다.
Dart에서 기본적으로 제공하는 == 연산자는 객체의 참조 동등성을 검사합니다.
즉, 두 객체가 동일한 메모리 주소를 가리키는 경우에만 true를 반환합니다.
그러나 때로는 두 객체의 속성 값이 동일한 경우에도 객체를 동등하다고 간주하고 싶을 수 있습니다.
이때 equatable 패키지가 유용합니다.
equatable 패키지를 사용하려면 먼저 pubspec.yaml 파일에 의존성을 추가해야 합니다:
dependencies:
equatable: ^2.0.3
equatable의 사용법:
import 'package:equatable/equatable.dart';
class Person extends Equatable {
final String name;
final int age;
Person(this.name, this.age);
@override
List<Object> get props => [name, age];
}
void main() {
final person1 = Person("John", 25);
final person2 = Person("John", 25);
final person3 = Person("Doe", 30);
print(person1 == person2); // true, because their properties are the same
print(person1 == person3); // false, because their properties are different
}
위의 예제에서 Person 클래스는 Equatable을 확장하고, props getter를 통해 name과 age 속성을 반환합니다.
이제 == 연산자를 사용하여 두 Person 객체의 속성 값이 동일한지 비교할 수 있습니다.
equatable 패키지는 객체의 동등성을 검사하는 코드를 간결하게 만들어 줍니다. 또한 hashCode도 자동으로 처리되므로, 동등성 검사와 해시 코드 생성을 수동으로 구현할 필요가 없습니다.
'모바일 개발 > Dart&Flutter' 카테고리의 다른 글
flutter WidgetsBindingObserver 설명 및 사용법 - 앱 생명주기 이벤트 처리 (0) | 2023.08.22 |
---|---|
Flutter velocity_x 설명 및 사용법 (0) | 2023.08.22 |
Flutter InheritedWidget 라이브러리 설명 및 사용 방법 (0) | 2023.08.22 |
Flutter dynamic_color 라이브러리 설명 및 사용법 (0) | 2023.08.22 |
Dart meta 라이브러리 설명 및 사용법 (0) | 2023.08.22 |
Comments