📘 Frontend/Dart2023. 5. 6. 22:12Dart - Asynchronous Programming

Java & Kotlin과 동일한 내용은 안쓰고 새로운 내용만 작성 Asynchronous Programming Dart는 기본적으로 비동기로 동작한다. Future와 Stream을 사용해 Async Programming을 할 수 있다. Future 함수가 종료되는 순간이 Future가 종료되는 순간이다. 한 함수의 반환값은 하나여야 한다. Stream 직접 닫아주는 순간이 Stream이 종료되는 순간이다. 여러 반환값을 Stream을 닫아줄 때까지 도중에 계속 반환받을 수 있다. 기본적으로 제공하는 기능이 아니어서 패키지를 불러와야 한다. import 'dart:async'; import로 받아온 async에서 StreamController를 사용할 수 있게 된다. Future delay..

📘 Frontend/Dart2023. 5. 6. 21:20Dart - Functional Programming

Java & Kotlin과 동일한 내용은 안쓰고 새로운 내용만 작성 Type Conversion List -> Map = asMap()을 사용한다. 반환값은 int : Value의 형태로 출력된다. List -> Set는 toSet(), Set.from() 둘 다 가능하다. Map -> List, Set -> List도 toList()로 가능 void main() { List group = ['사람', '사람2', '사람3']; print(group); // Type Conversion to Map -> 반환값 : { 0: 사람, 1: 사람2, 2: 사람2 } print(group.asMap()); // Type Conversion to Set -> 반환값 : ..

📘 Frontend/Dart2023. 5. 6. 19:23Dart - Inheritance & Interface & Generic

Java & Kotlin과 동일한 내용은 안쓰고 새로운 내용만 작성 Inheritance 클래스 간 상속은 자바와 동일하게 extends를 사용한다. 상속 후 생성자에 :를 붙인 이유는 상위 클래스의 생성자에 Named Parameter를 썼기 떄문이다. class Group { String name; int groupCounts; Group({ required this.name, required this.groupCounts }); } class BoyGroup extends Group { BoyGroup( String name, int groupCounts ): super(name: name, groupCounts = groupCounts); } Interface Dart에서의 인터페이스 선언은 클래..

📘 Frontend/Dart2023. 5. 6. 03:41Dart - Constructor & Getter & Private

Java & Kotlin과 동일한 내용은 안쓰고 새로운 내용만 작성 Constructor 생성자를 만드는 2가지 방법이 있다. class User { String name = '이름'; // Constructor 1 User(String name): this.name = name; } class User { String name = '이름'; // Constructor 2 User(this.name); } Named Constructor 클래스명.붙이고 싶은 이름()으로 Named Constructor를 생성할 수 있다. void main() { User user = User.fromList( [ ['a', 'b', 'c'], &#3..

📘 Frontend/Dart2023. 5. 5. 17:50Dart - Funtion

Java & Kotlin과 동일한 내용은 안쓰고 새로운 내용만 작성 Function 반환 타입이 없는 void와 함수의 반환 타입을 명시해야 하는 점은 자바와 동일하다. Dart 함수에서 사용가능한 기능들 Optional Parameter Named Parameter Arrow Function typedef 키워드 Optional Parameter Optional Parameter라는 개념은 파라미터에 [ ]로 감싸줌으로써 Builder의 역할을 한다. [ ]안에 ?를 넣어줌으로써 Nullable 처리를 할 수 있는데 아래 예시는 int 예시이다. 그러므로 [ ] 안에 Default 값을 넣어줌으로써 해결할 수 있다. 아래 Optional Parameter의 예시를 보자. void main() {} ad..

📘 Frontend/Dart2023. 5. 5. 17:04Dart - Condition & Loop

Java & Kotlin과 동일한 내용은 안쓰고 새로운 내용만 작성 If & Switch If문은 자바와 동일하다. Switch문도 Java와 같이 case: , default 동일하게 사용한다. Loop For 자바의 For문과 코틀린의 in For문 둘 다 가능하다. List numbers = [1, 2, 3, 4, 5] for (int i=0; i< numbers.length; i++) { total += numbers[i] } for (int number in numbers) { total += number; } While While, do-While 모두 자바와 동일하다. Break & Continue 다른 언어와 동일하다. Enum Enum도 자바와 동일하다. enum Status{a,b,c}

📘 Frontend/Dart2023. 5. 5. 16:35Dart - Operator & List & Map & Set

Java & Kotlin과 동일한 내용은 안쓰고 새로운 내용만 작성 Operator 일반 연산자 & 복합대입 연산자 모두 자바&코틀린과 동일하다. 타입 비교 시, 코틀린과 같이 is 키워드를 사용한다. 그 반대는 is! 로 사용한다. 논리 연산자도 타 언어와 동일하다. List 타 언어와 대부분 동일하다. List 처럼 Primitive Type을 넣어 사용도 가능함 리스트 인덱싱도 동일하다. List list = [1, 2, 3, 4, 5] Map Map의 Key에 해당하는 Value 값 가져오기 -> map[Key] 값을 넣을때는 put()을 쓰지 않고 바로 map[새로 넣을 Key] = 새로 넣을 값으로 넣는다. 값을 변경할때도 map[변경할 Key] = 새로 넣을 값으로 값을 수정할 수 있다. 값..

image