728x90
반응형
Dart에서는 Arrow 함수와 typedef 가 있다.
Arrow 함수
- 함수의 파라미터 이후에 {} 없이 바로 =>를 써주고 => 다음에 오는 값이 함수의 값이 되는 것.
int sum( int x, int y, int z){
int sum = x + y + z;
return sum;
}
// 위 아래가 같은 의미
int arrowSum( int x, int y, int z ) => x + y + z;
typedef
- 함수와 비슷하지만 함수에 body가 없음
- typedef 의 signature와 같은 형태의 함수들을 가져다가 쓸 수 있음
- 코드가 간결해 질 수 있음
void main() {
// 처음 typedef인 Operation을 add 함수로 선언
Operation operation = add;
int result = operation(10, 20);
print(result); // 결과 30
// operation을 sub 함수로 변경
operation = sub;
int result2 = operation(10, 20);
print(result2); // 결과 -10
//------------------------------------------
int result3 = calculate(20, 30, add);
print(result3); // 결과 50
int result4 = calculate(30, 20, sub);
print(result4); // 결과 10
}
//-----------------------------------------------------
// typedef를 선언하고 typedef의 signature와 같은 형식의 함수를 사용 가능
// 타입 Function(파라미터) 를 signature라고 함
typedef Operation = int Function(int x, int y);
// 더하기
int add(int x, int y) => x + y;
// 빼기
int sub(int x, int y) => x - y;
//-----------------------------------------------------
// 실제 사용 예제
int calculate(int x, int y, Operation operation){
return operation(x,y);
}
728x90
반응형
'Flutter > 개발 정보' 카테고리의 다른 글
Flutter StatelessWidget 만들기 (0) | 2023.06.07 |
---|---|
Flutter 이미지 추가하기 (0) | 2023.06.07 |
Dart에서 여러 파라미터 정리 (0) | 2023.03.11 |
Dart의 enum (0) | 2023.03.11 |
Dart의 final과 const (0) | 2023.03.11 |