프로그래밍 공부 메모/flutter

function 함수 (optional parameter / named parameter)

jjs815 2022. 5. 15. 21:01

- 배열의 값을 더하는 일반적인 함수 선언

 

void main(){
  
  List testList = [1,2,3,4];
  
  int result = addList(testList);
  print(result);
}

int addList(List testList){
  
  int total = 0;
  
  for(int number in testList){
    total += number;
  }
  
  return total;
  
}

 

- 매개변수를 여러 개 쓰고 싶을 때

void main(){
  
  List testList = [1,2,3,4];
  
  int result = addList(testList,1 ,2);
  print(result);
}

int addList(List testList, int a, int b){
  
  int total = 0;
  
  for(int number in testList){
    total += number;
  }
  
  return total;
  
}

함수 선언 시 매개변수를 여러 개 넣고 싶을 때 사용되는 함수의 매개변수와도 자리가 같아야 한다

 

- optional parameter [ ]

파라미터를 넣어도 안 넣어도 상관없는 함수

void main(){
  
  List testList = [1,2,3,4];
  
  int result = addList(testList,1 );
  print(result);
}

int addList(List testList, int a, [int? b ]){   //[] optional parameter
  print('b 값은 : ${b}');
  int total = 0;
  
  for(int number in testList){
    total += number;
  }
  
  return total;
  
}

null safety 때문에 [ int b] 로 바로 쓸 수없고 default 값이나 nullable 허용해줘야 한다

nullable : [ int b ] -> [ int? b ]

defult 값 선언 : [ int b = 0] 해당 변수에 값이 null이면 디폴트 값으로 대처한다

 

 

- named parameter { }

optional parameter와 같이 파라미터를 넣어도 안 넣어도 된다

그리고 함수의 파라미터가 많을 때 순서를 지켜 값을 대입하기 힘들 수 있다 named parameter는 순서와 꼭 맞출 필요가없다

void main(){
  
  List testList = [1,2,3,4];
  
  int result = addList(testList,1, b : 2, d : 4);
  print(result);
}

int addList(List testList, int a, {int? b, int? c, int? d, int? e}){
  
  int total = 0;
  
  for(int number in testList){
    total += number;
  }
  
  return total;
  
}
반응형