QA Automation/dart

7. 함수(function)

kokorii_ 2023. 5. 16. 00:02

1. 선언과 사용

void main(){

  addNumbers(11,11,11);

}

addNumbers(int x, int y, int z){

  int sum = x+y+z;


  if(sum % 2 == 0 ){

    print('짝수');

  } else{

    print('홀수');

  }

}

2. 파라미터

- 용어 : 파라미터(parameter) = 아규먼트(argument) = 매개변수 

- 종류 : positional parameter, optional parmameter, named parameter 

3. positional parameter

- 순서가 있음 

- 사용시 파라미터를 모두 매개변수로 넣어주어야 함

void main(){

  addNumbers(11,11,11);

}

addNumbers(int x, int y, int z){

  int sum = x+y+z;


  if(sum % 2 == 0 ){

    print('짝수');

  } else{

    print('홀수');

  }

}

4. optional parameter 

- optional parameter : 있어도되고, 없어도 되는 파라미터 
- 대괄호로 표현해주고 기본값을 넣어주거나, null 값을 허용해줘야 함

- [int? y, int? z] 와 같이 사용 가능

- 논리적 오류 가능성 있음

void main(){

  addNumbers2(10);

}

addNumbers2(int x, [int y = 20, int z= 30]){

  int sum = x+y+z;

  if(sum % 2 == 0 ){

    print('짝수');

  } else{

    print('홀수');

  }

}

5. named parameter

- 파라미터에 이름을 붙여서 호출 

- 순서가 중요하진 않으나 이름을 반드시 붙여야 함 
- 함수 선언 시 중괄호로 매개변수 표시, 중괄호 안에서 파라미터 앞에 required

void main(){

  addNumbers3(x:10, z:40, y:30);

}

addNumbers3({

  required int x, 
  required int y,
  required int z

}){

  int sum = x+y+z;

  if(sum % 2 == 0 ){

    print('짝수');

  } else{

    print('홀수');

  }

}

6. parameter 혼합

- int x : positional parameter

- int y: named parameter

- int z : named parameter, optional parameter 

void add(int x, {required int y, int z = 30})

7. 함수의 return type과 arrow function

- 함수의 Return type : void, 앞서 배운 모든 타입을 return 으로 사용할 수 있음 

- arrow 함수

int sumFunc(int x, {required int y, int z = 30}) => x + y + z;