익명함수와 화살표 함수
익명함수
dart는 리턴타입 정의 안해도 됨
dart는 메서드가 1급 객체이기 때문에 Function 타입 변수에 저장할 수 있음
Function 타입 뿐만 아니라 var, dynamic 에도 가능
변수이기 때문에 세미콜론으로 닫아줘야함
Function greet = bye() {
print("bye");
};
위에서 Function 변수의 이름 greet으로 메서드를 찾아갈 것이기 때문에 bye라는 함수 명이 필요가 없음
Function greet = () {
print("bye");
};
( ){ ... }; 부분이 익명 함수
화살표함수
함수가 가지고 있는 내부 스택(코드블럭 == 중괄호{ } 부분) 한줄일때 화살표 함수 사용
Function add = () {
return 1+1;
}
int add() => 1+1; // return 키워드 생략 가능
정리
일반 메서드
int sum(){
return 10;
}
익명함수를 저장하는 변수
- 일반 메서드를 익명 함수로 변경해서 변수에 저장
- 변수의 타입에 함수를 저장할 것이라면 Function(Type), var(Type), dynamic(Type)
Function sum2 = () {
return 10;
}
화살표함수
- 일반 메서드를 생성할때 한줄 밖에 안된다면 그냥 { }와 return을 생략하고 => 화살표 사용
int sum3() => 10;
화살표 함수를 저장하는 변수
Function sum4 = () => 10;
참고
https://www.youtube.com/watch?v=S170Po5mino&list=PL93mKxaRDidGEaUXprXqhNvSW02xCjLZI&index=9
728x90
'Study > Dart' 카테고리의 다른 글
[Dart] 클래스 (0) | 2021.06.04 |
---|---|
[Dart] final 과 const 차이 (0) | 2021.06.04 |
[Dart] 반복문과 깊은 복사 (0) | 2021.06.04 |
[Dart] 메서드(함수) (0) | 2021.06.03 |
[Dart] 기본자료형 (0) | 2021.06.03 |