함수

// y = ax + b; 구현하기
double linearExp(double a, double b, double x){
  return a * x + b;
}

main() {
  double res = linearExp(1, 2, 3);
  print(res);

}

 

함수 - 옵션 파라미터 적용

// y = ax + b;
//                                    ↱옵션 파라미터( = 2는 default 값을 지정한 것임)
double linearExp(double a, double x, [double b = 2]){
  return a * x + b;
}

main() {
  double res = linearExp(1, 2, 3);
  print(res);

  double res2 = linearExp(1, 2);
  print(res2);

}

 

 

함수 - 네임드 파라미터

// y = ax + b;
//                                    ↱네임드 파라미터
double linearExp(double a, double x, {required double b}){
  return a * x + b;
}

main() {
  double res = linearExp(1, 2, b: 3);
  print(res);

  double res2 = linearExp(1, 2, b: 4);
  print(res2);

}

 

 

arrow syntax 화살표 구문

main(){
  int add(int a, int b) => a+b;
  print(add(1, 2));
}

 

 

 

 

객체로서의 함수

// 숫자를 인자로 받아서 받은 숫자를 print해주는 함
void printNumber(int number) {
  print(number);
}

//                                      ↱내가 정의한 함수를 인자로 받는 것임
void processNumbers(List<int> numbers, Function process) {
//void processNumbers(List<int> numbers, Function(int) process)

  for (int number1 in numbers) {
    process(number1);
  }
}

void main() {
  final numbers = [1, 2, 3];
  processNumbers(numbers, printNumber);
}

 

 

 


함수를 인수로 전달하는 세가지 방법

  1. 메서드명을 직접 지정
  2. 람다식을 이용
  3. 익명함수 이용

 

 

 

 

'Dart' 카테고리의 다른 글

Dart typedef  (0) 2021.06.13
Dart enum (열거형 타입)  (0) 2021.06.13
Dart 조건문, 반복문  (0) 2021.06.12
dart 변수 선언  (0) 2021.06.12
Dart 자료형  (0) 2021.06.12

+ Recent posts