티스토리 뷰
반응형
타입 별칭
타입 별칭은 typedef를 사용하여 타입을 쉽게 참조할 수 있게 해 준다.
다음은 IntList라는 타입 별칭을 선언하고 사용하는 예제이다.
typedef IntList = List<int>;
IntList il = [1, 2, 3];
타입 별칭은 타입 매개변수를 가질 수 있다.
typedef ListMapper<X> = Map<X, List<X>>;
ListMapper<String> m2 = {};
Map<String, Lsit<String>> = m1 = {}; // 타입 별칭을 사용하지 않는 경우
함수 타입 별칭으로도 사용할 수 있다. 하지만 인라인 함수 타입을 사용하기를 추천한다.
typedef Compare<T> = int Function(T a, T b);
int sort(int a, int b) => a - b;
void maikn() {
assert(sort is Compare<int>); // True!
}
인라인 함수 타입
다트 1에서는 필드, 변수 또는 제네릭 타입 인수에 대해 인라인 함수 타입을 사용하려면 먼저 이에 대한 타입 별칭을 정의해야 했다. 하지만 다트 2부터는 타입 주석이 허용되는 모든 곳에서 인라인 함수 타입 구문을 사용할 수 있다.
int sort(int a, int b) => a - b;
void main() {
assert(sort is int Function(int, int)); // True!
}
함수 타입이 길거나 자주 사용되는 경우에는 함수 별칭을 정의할 가치가 있지만, 대부분의 경우 사용자는 함수 타입이 실제로 사용되는 위치가 맞는지 확인하기를 원하므로 인라인 함수 타입 구문을 통해 명확성을 제공할 수 있다.
반응형
'다트 공식 문서 번역' 카테고리의 다른 글
다트] 패턴 (0) | 2024.07.27 |
---|---|
다트] 다트 타입 시스템 (0) | 2024.07.25 |
다트] 제네릭 (0) | 2024.07.24 |
다트] 컬렉션 - 리스트(list), 셋(set), 맵(map) (0) | 2024.07.22 |
다트] 레코드 - 구문, 필드, 타입, 동등성, 집합 반환 (0) | 2024.07.22 |
댓글
공지사항