반응형

https://dart.dev/

 

Dart programming language

Dart is a client-optimized language for fast apps on any platform

dart.dev

 

https://www.dartpad.dev/? 

 

DartPad

 

www.dartpad.dev

 

 

내장 데이터 타입

int, double

num

bool

String

var

dynamic

List

Set

Map

* Dart는 배열이 없다.

* Dart의 모든 것은 객체 이다. int , double등의 기본형도 객체

 

연산자

??= 대상이 null인 경우에만 우변의 값을 할당

~/ 몫을 구함

 

응용연산자

as 타입 강제 형변환

is 객체가 특정 타입이면 true

is! 객체가 특정 타입이면 false

exp1 ?? exp2 - exp1이 null이면 exp2 반환, null이 아니면 exp1 반환

String name = loginAccount ?? 'Guest';

.. - 캐스케이드 연산자

Account userAccount = Account('kim', 6000)
  ..deposit(500)
  ..withdraw(50000);

?. - 객체가 null이 아니면 멤버의 값 반화, null이면 null 반환

Account account = null;
int num = account?.code;

 

기본 자료구조

List

// 초기화
List<int> numbers = [100, 200, 300];
List<int> numbers2 = [0, ...numbers];

// 병합
List<int> numbers3 = numbers + numbers2;

// 요소접근
int first = numbers[0];

// 순회
for ( int each in numbers ){}

Set - 중복값 허용하지 않음

// 초기화
Set<int> numbers = {100, 200, 300};
Set<int> numbers2 = {0, 100, ...numbers};

// 요소접근 - error
// int first = numbers[0];

// 순회
for ( int each in numbers ){}

// 집합
numbers.union(numbers2);
numbers.intersection(numbers2);
numbers.difference(numbers2);

Map

// 초기화
Map<int, String> map = {
 0: 'a',
 50: 'b',
};

  
 // 요소접근
 String? a = map[50];
 
 // update
 map.update(50, (val) => 'c');

 

 

반응형

+ Recent posts