함수는 반복되는 코드를 한 번만 작성해서 재활용할 수 있게 하기위함이다.
String add(int a, int b) {
int sum = a + b;
return 'Sum: $sum';
}
void main() {
print(add(1, 2));
print(add(3, 4));
print(add(5, 6));
print(add(7, 8));
}
String add(int a, int b, [int c = 0]) {
int sum = a + b + c;
return 'Sum: $sum';
}
void main() {
print(add(1, 1));
print(add(1, 1, 1));
}
파라미터가 많아지면, 순서를 기억하고 전달하기 어렵다. 이 때 Named 파라미터를 사용해 좀 더 명확하게 값을 설정할 수 있다.
String add(int a, int b, {int c = 0, int d = 0}) {
int sum = a + b + c + d;
return 'Sum: $sum';
}
void main() {
print(add(1, 1));
print(add(1, 1, c: 1));
print(add(1, 1, d: 1));
print(add(1, 1, c: 1, d: 1));
}
typedef
를 사용하여 함수의 타입을 선언하고 지정할 수 있다.
typedef Operator(int n, int m);
String add(int a, int b) {
int sum = a + b;
return 'Sum: $sum';
}
String substract(int c, int d) {
int sub = c - d;
return 'Sub: $sub';
}
String calculate(int x, int y, Operator op) {
return op(x, y);
}
void main() {
print(add(2, 1));
print(substract(2, 1));
Operator op = add;
print(op(2, 1));
op = substract;
print(op(2, 1));
print(calculate(2, 1, add));
print(calculate(2, 1, substract));
}