728x90
반응형
처음 함수를 접해서 함수를 사용하는 방법은 다음과 같습니다.
String intro(
String name,
int age,
String address,
) {
return "My name is $name, I'm $age and in $address";
}
void main() {
print(
intro(
'name',
20,
'Seocho-gu',
),
);
}
형식 매개변수와 실매개변수의 위치가 같아야 합니다.
매개변수가 몇 개 되지 않는다면 괜찮겠지만
매개변수가 많아진다면 모든 인자의 위치를 맞추는 것은 번거롭습니다.
positional parameter보다는 named parameter를 사용하는 것이 좋습니다.
named parameter를 사용하기 위한 몇 가지 수정 사항이 있습니다.
String intro(
String name,
int age,
String address,
) {
return "My name is $name, I'm $age and in $address";
}
void main() {
print(
intro(
// 단순히 파라미터 이름을 지정해서 전달하는 경우 오류
name: 'name', // The named parameter 'name' isn't defined
age: 20, // The named parameter 'age' isn't defined
address: 'Seocho-gu', // The named parameter 'address' isn't defined
), // 3 positional argument(s), but 0 found.
);
}
단순히 파라미터 이름을 지정해서 전달하면 오류가 납니다.
named parameter를 사용하기 위해서 intro() 함수에 중괄호와 required 또는 defalut value를 사용합니다.
String intro({ // 중괄호로 감싸는 것이 중요함
// 1. required 반드시 인수 받기 - 컴파일 안됨
required String name,
required int age,
// 2. defalut
String address = gangnam-gu,
}) {
return "My name is $name, I'm $age and in $address";
}
디폴트 값을 사용하면 해당 파라미터 값을 전달하지 않아도 됩니다.
추가적으로 Optional Positional Parameter에 대해서 알아보겠습니다.
Optional Positional Parameter는 인수로 전달된 값이 null일 때 default 값을 사용합니다.
String intro(
String name,
int age,
[String? address = 'Seocho-gu'],
) {
return "My name is $name, I'm $age and in $address";
}
void main() {
print(
intro(
'name',
20,
),
);
}
반응형