zoaseo
To Infinity And Beyond
zoaseo
전체 방문자
오늘
어제
  • 분류 전체보기 (763)
    • 개발이 좋아서 (381)
      • SAP가 좋아서 (3)
      • Java가 좋아서 (42)
      • Spring이 좋아서 (50)
      • JPA가 좋아서 (0)
      • QueryDSL이 좋아서 (26)
      • Docker가 좋아서 (7)
      • Redis가 좋아서 (7)
      • AWS가 좋아서 (5)
      • CI/CD가 좋아서 (6)
      • Troubleshooting이 좋아서 (4)
      • Kotlin이 좋아서 (7)
      • SQL이 좋아서 (6)
      • HTTP가 좋아서 (21)
      • JavaScript가 좋아서 (30)
      • TypeScript가 좋아서 (6)
      • Vue가 좋아서 (21)
      • Flutter가 좋아서 (61)
      • React가 좋아서 (20)
      • Redux(React)가 좋아서 (2)
      • Angular가 좋아서 (22)
      • HTML이 좋아서 (9)
      • CSS가 좋아서 (15)
      • PHP가 좋아서 (9)
      • Illustrator가 좋아서 (2)
    • 노력이 좋아서 (169)
    • 결과물이 좋아서 (14)
    • 코딩연습이 좋아서 (168)
      • 이론이 좋아서 (62)
      • SQL이 좋아서 (90)
    • 유용한 사이트가 좋아서 (28)
    • Github (2)

인기 글

티스토리

hELLO · Designed By 정상우.
zoaseo

To Infinity And Beyond

[Dart] 2일차_함수 선언
개발이 좋아서/Flutter가 좋아서

[Dart] 2일차_함수 선언

2022. 12. 12. 15:32

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

    티스토리툴바