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 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..