1)
void main() {
int result = addNumbers(10, y: 20);
int result2 = addNumbers(20, y: 50, z: 70);
print('result: $result');
print('result: $result2');
print('sum : ${result + result2}');
}
// 세개의 숫자 (x, y, z)를 더하고 짝수인지 홀수인지 알려주는 함수
// parameter / argument - 매개변수
// positional parameter - 순서가 중요한 파라미터
// optional parameter - 있어도 되고 없어도 되는 파라미터
// named parameter - 이름이 있는 파라미터 (순서가 중요하지 않다.)
int addNumbers(int x,{
required int y,
int z = 30,
}){
int sum = x + y + z;
print('x : $x');
print('x : $y');
print('x : $z');
if(sum % 2 == 0) {
print('짝수입니다.');
} else {
print('홀수입니다.');
}
return sum;
}

2) arrow funtion 선언
void main() {
int result = addNumbers(10, y: 20);
int result2 = addNumbers(20, y: 50, z: 70);
print('result: $result');
print('result: $result2');
print('sum : ${result + result2}');
}
// 세개의 숫자 (x, y, z)를 더하고 짝수인지 홀수인지 알려주는 함수
// parameter / argument - 매개변수
// positional parameter - 순서가 중요한 파라미터
// optional parameter - 있어도 되고 없어도 되는 파라미터
// named parameter - 이름이 있는 파라미터 (순서가 중요하지 않다.)
int addNumbers(int x,{
required int y,
int z = 30,
}) => x + y + z;

3) typedef 선언
void main() {
Operation operation = add;
int result = operation(10, 20, 30);
print(result);
operation = subtract;
int result2 = operation(10, 20, 30);
print(result2);
int result3 = calculate(30, 40, 50, add);
print(result3);
int result4 = calculate(40, 50, 60, subtract);
print(result4);
}
// signature
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;
// 계산
int calculate(int x, int y, int z, Operation operation){
return operation(x, y, z);
}

'개발이 좋아서 > Flutter가 좋아서' 카테고리의 다른 글
| [Dart] 2일차_객체지향_getter/setter (0) | 2022.12.12 |
|---|---|
| [Dart] 2일차_객체지향 (0) | 2022.12.12 |
| [Dart] 2일차_enum (0) | 2022.12.12 |
| [Dart] 1일차_loop (for/while) (0) | 2022.12.07 |
| [Dart] 1일차_if문 (0) | 2022.12.07 |