Async Programming에서 사용되는 기법함수를 닫아주는 순간(완료 되는 순간)까지 계속 리턴 값을 받을 수 있다. 1. 스트림 사용 방법 import 'dart:async';void main() { //스트림 가져오기 final controller = StreamController(); final stream = controller.stream; //스트림이 listen하고 있을 때 값을 받는다. final streamListener1 = stream.listen((val) { //값이 들어오면 실행 될 함수 print('리스너1 :: $val'); }); controller.sink.add(1);} 2. 스트림 여러번 리스닝 하는 방법void main() { //스트..
void main() { addNumbers(1, 1); addNumbers(2, 2);}void addNumbers(int num1, int num2) { print("계산중 :: $num1 + $num2"); print("계산 완료 :: ${num1 + num2}");} 프로그래밍을 하게되면 무조건 1+1 계산중, 계산완료 2+2 계산중, 계산완료가 순서대로 찍힐 것이다. 1. Future- 미래에 받아올 값을 저장 할 수 있다. - delayed : 시간을 지연시킨 후 함수를 실행 할 수 있다. void main() { //Future : 미래에 받아올 값을 저장 할 수 있다. Future name = Future.value('송이'); Future number = Future.valu..
1. wherevoid main() { List> people =[ { 'name' : '로제', 'group' : '블랙핑크', }, { 'name' : '지수', 'group' : '블랙핑크', }, { 'name' : 'RM', 'group' : 'BTS', }, ]; print(people); //where를 넣으면 T/F 값을 리턴한다. final balckPink = people.where((x)=> x['group'] == '블랙핑크'); print(balckPink);} 2. reduceprev에는 이전 함수의 리턴 값이 들어가고next는 다음 인덱스 값이 들어간다.void main() { List..
1. List를 Mapping 하는 법 void main() { List blackPink = ['로제', '지수', '리사', '제니']; // 파라미터 x는 List의 각각의 값이 들어온다 final newBlackPink = blackPink.map((x){ //return은 대체할 값이 된다 return '블랙핑크 $x'; }); print(blackPink); print(newBlackPink);} 더 짧게 작성 하려면 아래와 같이 작성하면 된다.final newBlackPink = blackPink.map((x) => '블랙핑크 $x'); 2. Map 을 mapping 하는 법void main() { Map harryPotter = { 'Harry Potter'..
void main() { List blackPink = ['로제', '지수', '리사', '제니', '제니']; print(blackPink); print("asMap ::"); print(blackPink.asMap()); print("toSet :: "); print(blackPink.toSet()); print("\n ======================== \n"); Map blackPinkMap = blackPink.asMap(); print("Map에서 key만 뽑아서 List로 "); print(blackPinkMap.keys.toList()); print("Map에서 value만 뽑아서 List로 "); print(blackPinkMap.value..
1. fat arrow syntax String sayHello(String name){ return "hello $name";}void main() { print(sayHello('홍길동'));} 위 코드를 아래와 같이 고칠 수 있다.String sayHello(String name) => "hello $name";void main() { print(sayHello('홍길동'));} 2. named argument를 이용한 Parameters- 순서 다르게 parameters를 지정하더라도 name이 중요하기 때문에 상관없다.//safety null 이 적용 되어 있기 때문에//default value를 지정 해 준다.String sayHello({ String name = '김길동', ..