본문 바로가기

CS/Flutter | Dart

(55)
Dart Asynchronous Programming - Future Asynchronous Programming(비동기 프로그래밍) :CPU를 훨씬 더 효율적으로 사용 가능 - 특정 코드의 처리가 완료되기 전, 처리하는 도중에도 계속 아래로 내려가며 수행하는 것 CPU Thread thread: 작업하는 가장 작은 단위 void main() { addNums(1, 2); addNums(2, 3); } void addNums(int num1, int num2){ print("계산 중: $num1 + $num2"); print("계산 완료: ${num1 + num2}"); } 계산 중: 1 + 2 계산 완료: 3 계산 중: 2 + 3 계산 완료: 5 위 코드처럼 하면 절대 계산 중 다음에 계산 중이 올 수 없음 Future 미래에 받아올 값 2개의 파라미터 delayed(p..
Dart cascading operator, functional programming cascading operator void main() { List even = [2, 4, 6, 8]; List odd = [1, 3, 5, 7]; print([...even, ...odd]); print([even]); print([...even]); print(even == [...even]); } 사용시 완전히 새로운 List에 값 넣는 것 Dart엔 짱 신기한 연산자가 있군녀,,,, map은 자유도가 너무 높음 -> key에 오타가 있거나 등등 해도 강제할 수 없음 프론트엔드 작업 시 어떤 데이터를 다루게 되어도 꼭 구조화해서 다루게 됨 class를 미리 정의해두면 이 데이터 타입이 어떻게 되고 구조가 어떻게 되는지에 대해 믿을 수 있는 상태가 됨 void main() { List ppl = [..
Dart Functional Programming - map, set, reduce, fold void main() { List blackPink = ["로제", "제니", "리사", "지수", "제니"]; print(blackPink); print(blackPink.asMap()); print(blackPink.toSet()); } List를 map으로 해주면 {0: 로제, 1: 제니, 2: 리사, 3: 지수, 4: 제니} set으로 해주면 {로제, 제니, 리사, 지수} 제니가 중복으로 2개 있었는데 set은 중복 제거된 것 볼 수 있음 void main() { List blackPink = ["로제", "제니", "리사", "지수", "제니"]; Map bpMap = blackPink.asMap(); print(bpMap.keys); print(bpMap.values); print("-"*20..
Dart 상속, static, interface, generic 상속 받으면 부모 클래스의 모든 속성을 자식 클래스가 부여받음 void main() { Idol blockB = Idol(name: "blockB", memberCnt: 7); blockB.sayName(); blockB.sayMemberCnt(); print("-"*10); BoyGroup bts = BoyGroup("bts", 7); bts.sayName(); bts.sayMemberCnt(); bts.sayMale(); } class Idol{ String name; int memberCnt; Idol({ required this.name, required this.memberCnt, }); void sayName(){ print("저희는 ${this.name}입니다.");} void sayMemb..
Dart OOP - class, instance, getter, setter, private class: 설계서 만드는 것 instance: class 통해서 실제로 결과물 만들어 내는 것 void main() { Idol blackPink = Idol( "블랙핑크", ["지수", "제니", "리사", "로제"],); print(blackPink.groupName); print(blackPink.members); blackPink.sayHello(); blackPink.intro(); } class Idol { String groupName; List members; Idol(String groupName, List members) : this.groupName = groupName, this.members = members; void sayHello() { print("안녕하세요. ${this..
Dart 기본 - if, for, while, function, parameter, typedef if void main() { // if int num1 = 10; if (num1 % 3 == 0){ print("나머지가 0 입니다."); }else if(num1 % 3 == 1){ print("나머지가 1 입니다."); }else{ print("나머지가 2 입니다,"); } } switch void main() { // switch int num1 = 10; switch (num1 % 3){ case 0: print("나머지가 0 입니다."); break; case 1: print("나머지가 1 입니다."); break; default: print("나머지가 2 입니다."); break; } } for loop void main() { // int total = 0; List nums = [1, ..
Dart 기본 - 변수형 자동으로 오른쪽 값을 통해 문자형 유추 var void main() { var name1 = "dami"; var name2 = "chacha"; print(name1); name1 = "flutter"; print(name1); } 변수 내용 수정은 가능하지만 이미 선언된 변수를 다시 선언하는 건 불가능 정수: int, 실수: double void main() { // 정수 int num1 = 2; int num2 = 4; print(num1 + num2); print(num1 - num2); print(num1 / num2); print(num1 * num2); // 실수 double num3 = 2.5; double num4 = 0.5; print(num3 + num4); print(num3 - n..

Tiny Star