# 기본형
void main() {
addNumbers();
}
// 세개의 숫자 (x, y, z)를 더하고 짝수인지 홀수인지 알려주는 함수
addNumbers() {
print('addNumbers 실행');
}
# 파라미터
addNumbers(int x, int y, int z) {
//...
}
# Optional 파라미터
void main() {
addNumbers(10); // 대괄호를 넣었기 때문에, 옵셔널로 y, z는 안 넣어줘도 됨
}
addNumbers(int x, [int y = 20, int z = 30]) {
//...
}
# Named 파라미터
void main() {
addNumbers(y: 20, x: 10, z: 30); // 순서 상관없이 이름을 지정해서 넣어줄 수도 있음
}
addNumbers({
required int x,
required int y,
required int z,
}) {
//...
}
// 응용
void main() {
addNumbers(y: 20, x: 10); // z 값을 안 넣어줘도 됨
}
addNumbers({
required int x,
required int y,
int z = 30, // 네임드 파라미터에서도 옵셔널 사용 가능
}) {
//...
}
# Return type
int addNumbers() {
int i = 0;
return i;
}
# Arrow fuction
int addNumbers(int x, {
required int y,
int z = 30,
}) => x + y + z;
# Typedef
void main() {
Operation operation = add;
int result = operation(10, 20, 30);
}
typedef Operation = int Function(int x, int y, int z);
// 더하기
int add(int x, int y, int z) => x + y + z;
// 빼기
int subtract(int x, int y, int z) =>? x - y - z;