Christmas Pikachu 매개변수(옵셔널 변수(optional parameter)
개발일지/Dart

매개변수(옵셔널 변수(optional parameter)

ZI_CO 2022. 11. 9.

main_02.dart
0.00MB

 

/// Dart 함수와 매개변수(optional, named)

void main() {
addNumbers(101010, 10101010);
bool isEven =  isEvenNumber(addNumbers2(20, 400)) ;
print(isEven == true ? "짝수" : "홀수");

// 함수 사용과 매개변수
// 1. 매개변수(positional parameter)
// 2. optional parmeter - 있어도 되고, 없어도 된다.

  // 2 - 1. optional parameter 기본값을 정해줄 수 잇고 required를 설정할 수 있다.
  // 2 - 2. optional parameter required 주게 되면 named 파라미터라고 부른다.
  // 2 - 3. optional parameter 기본값을 주게되면 역시나 named파라미터라고 부른다.
print(addNumber3(100, 200 ));

// 3. 람다 표현식 (화살표 함수)
  // 코드를 한줄로 표현하고 싶다면 사용한다. return 키워드를 생략 가능하다.




// named parameter란 매개변수에 이름이 있고 ->> 순서가 크게 중요하지 않다.
addNumber4(n1: 100, n2: 100, n3: 100);


addNumber5(n1: 100, n2: 200);


print(addNumber6(n1: 100,n2: 2020020202));


}



// 함수를 선언할때 무엇을 할지 정의하고 만들자!

// 두개의 숫자를 받아 더하고 짝수인지 홀수인지 알려주는 함수를 만들어 보자 - 1
addNumbers(var n1, var n2){
  int sum = n1 + n2;
  if(sum % 2 == 0) {
    print("짝수");
  }else {
    print("홀수");
  }
}

// 두개의 매개 변수를 받아 덧셈하는 기능
addNumbers2(var n1, var n2){
  return n1 + n2;
}

// 옵션널 파라미터를 사용하기 - 두개의 매개변수를 받아 덧셈하는 기능
addNumber3(var n1, var n2, { var n3 = 0} ){
  return n1 + n2 + n3;
}


// named 파라미터
addNumber4({required var n1, required var n2, required var n3} ){
  return n1 + n2 + n3;
}

addNumber5({ var n1 = 0,  var n2 = 0,  var n3 = 0} ){
  // 방어적 코드
  return n1 + n2 + n3;
}



addNumber6({ var n1 = 0,  var n2 = 0,  var n3 = 0} ) => n1 + n2 + n3;




// 정수값을 방아 짝수인지 홀수인지 true, false 를 반환하는 기능
isEvenNumber(var number){
  return(number % 2)== 0 ? true : false;
}

 

 

 

 

 

optional parameter(매개변수 선택사항)

 

 

매개변수가 3개이지만 결과에서보면 2개이다. {} 중괄호를 사용하여 꼭 들어갈 필요가 없는 선택사항으로 만들수 있단걸 알 수 있다. 

주의 해야할점 : 연산식에서 n3에는 null값이 들어올 가능성도 있다 그걸 방지 하기위해 n3에 0으로 값을 넣어주어야한다.

그런데 연산식에 n3이 없으면 n3에 0값(기본값)을 주지 않아도 된다.

 

 

 

 

 

 

named 파라미터(required )

optional parameter required 주게 되면 named파라미터 라고 부른다.

named parameter : 매개변수에 이름이 있고, 순서가 크게 중요하지 않다

 

 

매개변수에 required를 주지않고 모두 기본값 0을 주는것도 named파라미터라고 부른다.

 

 

 

 

 

 

람다식 활용한 연산

 

 

 

 

 

'개발일지 > Dart' 카테고리의 다른 글

1급 객체  (0) 2022.11.09
열거타입(Enum)  (0) 2022.11.09
제네릭, Isolate  (0) 2022.11.08
생성자, 추상 클래스  (0) 2022.11.08
Dart (접근제어 지시자, getter / setter, 상속 & 다형성, Maxin(with), 생성자)  (0) 2022.11.07

댓글