흔히 우리가 아는 String, bool, int, double 등등이 있는데
전부다 object로 되어있다.
즉, 완전한 객체 지향적인 언어임을 또 한번 느낄 수 있다.(자바랑 진짜 비슷)
좀 새로운 자료형 위주로 정리하도록 하겠다.
그냥 배열인데 object를 상속받기에 메소드가 매우 많이 존재한다.
add, addall, 탐색, 마지막 원소 불러오기 등등 매우 편리하다.
List<int> num = [1, 2, 3, 4, 5];
이런식으로 int형 배열을 만들 수 있다.
그리고 collection if를 사용하면 손쉽게 새로운 원소를 추가 할 수도 있는데
var giveMeFive = true;
var numbers = [
1,
2,
3,
4,
if(giveMeFive) 5 //giveMeFive가 true면 5삽입
];
이런식으로 직관적이면서 편하게 원소를 추가할 수 있다.
text에 변수를 추가하는 방법이다. 플러터를 쓸 때 필요하게 됨
var name = 'hwang gend';
var greeting = 'Hello everyone, my name is
$name, nice to meet you!';
원하는 지점에 $표시를 넣고 변수명을 기입해주면 원하는대로 저장이 된다.
규칙은 단순하다.
var oldFriends = ['민수', '용주'];
var newFriends = [
'성주',
'지민'
for(var friend in olddFriends) "★ $friend",
];
위와 같은 코드를 작성했을때 oldFriends에 있는 원소들이 별표와 함께
newFriends 배열에 삽입된다.
Map은 파이썬의 딕셔너리 같은 것이다. 자바에선 해시맵과 비슷하다고 볼 수도 있겠다.
그런데 보면 볼수록 자료형은 var로 정의하기에 정말 편한 것 같다.
아무튼 map에 대해서 계속 설명해보자면
다른 딕셔너리나 해시맵과 다른점은 var로 정의하기에
(Map<자료형, 자료형>같이 직접 정의도 가능)
key가 만약 자료형이 같고 value들이 자료형이 달라도 적용이 된다.
모든 자료형이 class이자 object를 상속받기에 key, value에 매우 자유도가 높다.
Set과 배열이 다른 점은 set의 모든 원소가 유니크하다는 것이다.
그리고 문법적으로는 중괄호를 쓴다는 것도 다른점 중에 하나다.
※요소가 항상 하나씩만 있다면 Set을 쓰는 것이 맞다.