{} 범위에 들어간 변수는 선택적 매개변수
null이 들어갈 수 있는 변수가 됨
값을 넣지 않아도 함수 콜 할 때 빨간줄이 뜨지 않음
void add({int? n1, int? n2}) {
print(n1! + n2!);
}
- !를 넣어서 빨간줄을 제거 할 수 있음
- 문제는 함수를 호출할 때 n2가 안 들어가면 nullPointException 이 터짐
기본값을 넣어서 처리
void add2({int n1 = 0, int n2 = 0}) {
print(n1 + n2);
}
required
무조건 값을 받아야 함
void add3({required int n1, required int n2}) {
print(n1 + n2);
}
- 함수를 호출할 때 빨간줄로 알려줌
- 기본 사용법과의 차이점 → 키 값으로 순서 상관없이 인수를 넣을 수 있다
void add4(int n1, {required int n2, int n3 = 0}) {
print(n1 + n2 + n3);
}
키 값으로 전달하면서 사용 가능
void main() {
add(n1: 1, n2: 3);
add2(n1: 1);
add3(n1: 1, n2: 3);
add4(1, n2: 3);
}
// 선택적 매개변수
// 1. 키값으로 전달할 수 있다.
void add({int? n1, int? n2}) {
print(n1! + n2!);
}
void add2({int n1 = 0, int n2 = 0}) {
print(n1 + n2);
}
void add3({required int n1, required int n2}) {
print(n1 + n2);
}
void add4(int n1, {required int n2, int n3 = 0}) {
print(n1 + n2 + n3);
}
void main() {
//add(n1: 1, n2: 3);
//add2(n1: 1);
//add3(n1: 1, n2: 3);
add4(1, n2: 3);
}
Share article