컴퓨터 비전공자 Product Manager의 프로그래밍 공부
노마드 코더(Nomad Coders) 강의 필기 노트 입니다.
강의 정보: Dart 시작하기 (https://nomadcoders.co/dart-for-beginners)
Data Types
Basic Data Types
num은 integer와 double의 부모 class이다.
Dart의 Data type은 모든게 object, class로 이루어져 있기 때문에, 실제로 자료형 안에 어떤 게 들어있는지 볼 수 있다.
예를들어 name.을 입력하면 String이 가지는 모든 method가 자동완성되는 걸 볼 수 있다.
Lists
대괄호를 열고 콤마로 구분하여 리스트를 입력해주면 된다. Var로 variable을 정의해줘도 되고 List<int>로 해도 되는데, 가능하다면 var를 쓰는게 좋고, var 사용이 불가하거나 class나 그런것을 더 명백하게 하기 위해 자료형을 명시하는 방법을 쓴다.
많은 method가 존재한다. 전부 class로 되어있고 object를 상속받고 있다. List라는 Class가 있고, 이것을 implements 하고 있는데, 여기서 모든 옵션을 볼 수 있다.
예: first = 첫번째 리스트를 가져온다, last = 마지막것을 가져온다.
Dart에서 List가 멋진 이유는 collection if와 collection for을 지원한다는 것이다. (지원하는 언어가 별로 없다)
Collection if
if(giveMeFive)5 : 'giveMeFive가 true라면 List에 5를 추가해줘'
숫자들로 이루어진 List를 만들고 있는데, if가 사실이라면 list는 5를 갖게 된다. collection if를 사용하지 않을때보다 훨씬 간편하다.
String Interpolation
string interpolation은 text에 변수를 추가하는 방법이다. $ 기호 뒤에 변수를 사용해주면 된다. 참고로 Dart에선 "(쌍따옴표), '(따옴표) 상관없다.
계산을 실행할 때의 문법은 조금 다르다. $ 기호 뒤에 {변수와 계산식} 을 입력하면 된다.
I'm 부분에 '(따옴표)를 사용하였기 때문에 이경우 "(쌍따옴표)를 이용하거나, '(따옴표) 앞에 \(역슬래시)를 넣어주면 된다.
Collection For
for(var friend in oldFriends) "😍$friend"
User Interface를 만들 때 이 기능은 게임체인저이다. User가 로그인을 했는지 안했는지 나타내는 버튼을 추가하고 싶은 경우 등이 그렇다. (? 나중에 알게되면 추가해야지.)
Maps
이 변수의 자료형은 Map<String, object>이다. key와 value로 이루어진 자료구조 Map을 만들었는데, Key는 모두 String (name, xp, superpower) value들은 object이다. object는 무엇이냐면 Dart에서는 모든게 object로부터 생겨서 object는 기본적으로 어떤 자료형이든지 될 수 있다. (혹시 TypeScript를 알고 있다면, object는 any로 보면 된다.)
Sets
Set과 List의 차이는 Set에 속한 모든 아이템들은 Unique(유니크)하단 것이다. Set은 {중괄호}를 사용하고, List는 [대괄호]를 사용한다. 요소가 항상 하나씩만 있어야 되면 Set을 사용하고, unique할 필요가 없다면 List를 사용하면 된다.
Dart에서 List는 Python의 List와 같고 , Dart에서 Set은 Python의 Tuple과 같다. Javascript도 Dart와 같은 Set이 있다.
'PM 기술스터디' 카테고리의 다른 글
(Flutter Study) DART 언어 - Class.1 (1) | 2023.06.29 |
---|---|
(Flutter Study) DART 언어 - Functions (0) | 2023.06.28 |
(Flutter Study) Dart 언어 - Variables (2) | 2023.06.24 |
PM 기술 스터디 - 객체지향 프로그래밍(Object-Oriented Programming, OOP) (2) | 2023.05.31 |
PM스터디 - Flutter(플러터)와 DART(다트) (3) | 2023.05.25 |
댓글