본문 바로가기
프로그래밍/Flutter-Dart

[Flutter] Dart 문법(??=, ??, null 인식 연산자, cascade, ..) #flutter operater ?? #flutter null #dart ..

by 채연2 2021. 3. 16.

 

 

 

 

* null 인식 연산자 : ??=, ??

* cascade (..연산자) : 자바의 builder 패턴과 유사. 객체 레퍼런스 변수 없이 바로 값 대입 가능

class Animal {
  var name = "dog";
  var age;
  var sound;
}

main() {
  var a = 3;
  // ??= : 변수가 현재 널인 경우에만 변수에 값 지정
  a ??= 4;
  print(a);

  // ?? : 왼쪽 표현식 값이 널이 아니면 왼쪽 표현식을, 널이면 오른쪽 표현식 리턴
  print(1 ?? 3);
  print(null ?? 12);

  Animal animal = Animal();
  print(animal.name);

  Animal? ani2;
  // ?. : null이면 null값 출력
  print(ani2?.name);

  //cascade
  Animal()
    ..name = "cat"
    ..age = 13
    ..sound = "야옹";
}
//결과
3
1
12
dog
null

 

 


같이 보면 좋은 포스팅

https://cording-cossk3.tistory.com/90

 

[Flutter] Dart 문법 (stream, async*, yield)

* stream : 파이프 개념. - 값, 이벤트, 객체, 컬렉션, 맵, 오류 또는 심지어 다른 스트림에서 모든 유형의 데이터가 스트림에 의해 전달 가능 - async* : 게으른 연산. 요청이 있을 때는 연산을 미루다

cording-cossk3.tistory.com

https://cording-cossk3.tistory.com/85

 

[Flutter] Dart 문법 (async, Future, await, then)

* 비동기 - 아래 printWithDelay함수에서 await를 빼고 실행시키면 Future.delayed와 print가 동시에 실행되는 듯 하고, await을 넣고 실행시키면 delay가 적용된 후에 print가 실행된다. //Future : An object representing

cording-cossk3.tistory.com

https://cording-cossk3.tistory.com/84

 

[Flutter] Dart 문법 (abstract, implement)

* 추상클래스, implement : 추상클래스 및 일반 클래스 implement 가능. - implement하면 클래스가 구현해 둔 메서드도 재정의 해야할 강제성이 생김. (일반 메서드도 구현해야 함) class Spacecraft extends Describ

cording-cossk3.tistory.com

https://cording-cossk3.tistory.com/83

 

[Flutter] Dart 문법 (상속)

* 상속 class Spacecraft { String? name; DateTime? launchDate; //Constructor, with syntactic sugar for assignment to members. Spacecraft(this.name, this.launchDate) { //Initialization code goes here. } Spacecraft.origin() { name = "무탈리스크"; launc

cording-cossk3.tistory.com

https://cording-cossk3.tistory.com/82

 

[Flutter] Dart 문법 (class, ?, !, ?.)

* 클래스 ?, !, ?.등 각각이 의미하는 바를 파악하지 못해서 너무 헤맸지만 의미를 알고나니 코드가 이해가 갔다... class Spacecraft { // ? : 개체가 null일 수 있음 String? name; DateTime? launchDate; //Constructor,

cording-cossk3.tistory.com

 

320x100

댓글