본문 바로가기

Flutter/개발 정보

Dart의 arrow함수와 typedef

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