List
A tour of the Dart language 페이지를 공부하면서 정리한 내용입니다.
Dart에서는 배열은 List 타입으로 제공됩니다. 리스트 리터럴은 JavaScript의 배열과 유사항 방식으로 생성합니다. 아래 코드에서 list의 타입은 List<int> 타입으로 추론됩니다. List<int> 타입에 다른 타입을 추가하려고 시도하면 컴파잁 타임 또는 런타임 오류가 발생합니다. 보다 자세한 내용은 여기를 참고해주세요.
Dart 컬렉션 리터럴의 마지막 항목 뒤에 쉼표(,)를 추가할 수 있습니다. 후행 쉼표(Trailing comma)는 컬렉션에 영향을 미치지 않지만, 복사-붙여넣기 시 오류를 방지할 수 있습니다. List 리터럴 앞에 const 키워드를 붙이면 컴파일 타임 상수로 선언할 수 있습니다.
void main() {
// List<int> type
var list1 = [1, 2, 3];
list1.add(4);
// Error: The argument type 'String' can't be assigned to the parameter type 'int'.
// list1.add("String");
var list2 = [
'Car',
'Boat',
'Plane', // 리스트 요소 끝내 콤마를 추가할 수 있습니다.
];
var constantList = const [1, 2, 3];
// Error: Unsupported operation: indexed set
// constantList[1] = 1;
}List 객체의 인덱스는 0부터 시작하고 list.length - 1은 마지막 인덱스입니다. length 속성을 이용해 리스트의 길이를 알 수 있으며, 인덱스를 이용해 리스트 값을 참조할 수 있습니다.
Dart 2.3부터 전개 연산자(Spread operator, ...)와 Null-aware 전개 연산자(...?)를 도입하여 여러 값을 컬렉션에 삽입하는 편리한 방법을 제공하기 시작했습니다. 보다 자세한 내용은 여기를 참고해주세요.
Dart는 조건부와 반복을 사용하여 컬렉션을 생성할 수 있도록 해주는 collection if와 collection for를 제공합니다.
collection if : 조건식을 평가하여 true인 경우 표현식을 평가하여 컬렉션에 항목을 추가합니다.
collection for : 루프를 순회하며 표현식을 평하여 컬렉션에 항목을 추가합니다.
collection if와 for에 대한 자세한 내용은 여기를 참고해주세요. 제네릭과 컬렉션에 대한 자세한 내용은 링를 참고해주세요.
List 타입은 다양한 속성과 메서드를 제공하고 있습니다.
Last updated