ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • function 함수 (optional parameter / named parameter)
    프로그래밍 공부 메모/flutter 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;
      
    }
    반응형
Designed by Tistory.