Dart-Cascade operator, Enums

Mkim4·2023년 9월 3일
0

강의: #4.5 Cascade Notation
강의: #4.6 Enums

<Cascade operator 적용 전>

main함수를 살펴보면 nico.name, nico.xp, nico.team 이라는 똑같은 코드를 반복하고 있다.

class Player{
  String name;
  int xp;
  String team;

  Player({
    required this.name,
    required this.xp,
    required this.team,
  });

  void  sayHello(){
    print("Hi my name is $name");
  }
}

void main() {
  var nico = Player(name: "nico", xp: 1200, team: 'red');
  nico.name = 'las';
  nico.xp = 1200000;
  nico.team = 'blue';
}

<Cascade operator 적용 후>

1. 변수 끝에 세미콜론을 지워준다.

2. 변수이름 대신 ..로 바꾸기

3. 세미클론을 마지막 끝에만 붙여주기.

앞에 class가 있다면 그 클래스를 가리킨다.

void main() {
  var nico = Player(name: "nico", xp: 1200, team: 'red')
  ..name = 'las'
  ..xp = 1200000
  ..team = 'blue';
}

enum type

enum은 우리가 실수하지 않도록 도와주는 타입이다.
목록을 뜻하는 enumeration에서 따왔다.
dart에서 enum type을 만드는 법은 다음과 같다.

1. 텍스트 형태 "" or '' 사용할 필요 없음

enum Team { red, blue }

enum XPLevel { beginner, medium, pro }

class Player{
  String name;
  XPLevel xp;
  Team team;

  Player({
    required this.name,
    required this.xp,
    required this.team,
  });

  void  sayHello(){
    print("Hi my name is $name");
  }
}

void main() {
  var nico = Player(name: "nico", xp: XPLevel.beginner , team: Team.red)
  ..name = 'las'
  ..xp = XPLevel.pro
  ..team = Team.blue;
}
profile
귀요미 개발자

0개의 댓글

관련 채용 정보