lan/dart

[Dart] 2. Data Types

캄춰 2023. 12. 5. 11:56
728x90
반응형

노마드 코더 Dart 기초 강의 

 

타입Type

: String

: bool

: int

: double

: num -- int, double의 부모형

void main() {
    String name = '';
    bool alive = true;
    int age = 12;
    double money = 55.55;
    num x = 12;     // maybe int or double
        // num은 int와 double의 부모~
}

 

 

String Interpolation

: 문자열을 표시할 때 큰 따옴표, 작은 따옴표 "", ''는 상관 없다.

: 내부에 '$' 달러 표시를 넣으면 변수 값을 넣을 수 있다. (like kotlin)

    var name = 'neander';
    var age = 10;
    // double, single dot "", '' 상관 없다
    var greeting = "Hello everyone $name and I'm ${age + 2}, nice to meet you";
    print(greeting);

 

 

List, Set, Map

1. List

: var numbers = [1,2,3,4];

: List<int> numbers = [1,2,3,4];

// 추가
numbers.add(5);

// 마지막 요소
numbers.last

 

collection if

: python의 comprehension과 비슷한 느낌이다.

: 리스트 안에 if문을 넣어서 조건을 만족하면 값을 넣는 것이다.

    var numbers = [1,2,3,4];
    List<int> numbers = [1,2,3,4];
    numbers.add(5);
    // 마지막요소 : numbers.last

    // collection if
    var giveMeFive = true;
    var numbers = [1,2,3,4, if(giveMeFive) 5];
    print(numbers);

 

collection for

: 내부에 for문을 넣음

    var oldFriends = ['hong', 'kk'];
    var newFriends = ['ph', 'zp', 'jap', for (var friend in oldFriends) "+ $friend"];

 

 

2. Map

: 중괄호 안에 key와 value 기입

    // python의 dictionary와 유사
    // <String, Object>
    var player = {
        'name' : 'neander',
        'xp' : 19.99,
        'superpower' : false,
    }

    // 명시적 explicit
    Map<int, bool> player = {1:true, 2:false, 3:true}
    
    Map<List<int>, bool> player = { [1,2,3,4]:false, [2,4]:5}

 

 

3. Set

: 중괄호안에 값만 넣으면 알아서 Set타입으로 inference됨

: 같은 값이 있다면 중복되지 않음, hashCode가 아닌 value로 보는 듯

    var numbers = {1,2,3,4};    // 이거 자체가 set이라니..
    Set<int> numbers = {1,2,3,4};

    numbers.add(1);     // 중복 안됨
    numbers.add(1);
728x90
반응형

'lan > dart' 카테고리의 다른 글

[Dart] Dart SDK 위치  (0) 2023.12.13
[Dart] StringBuffer : like java's StringBuilder  (0) 2023.12.08
[Dart] 4. 클래스 생성자(Constructor)  (1) 2023.12.06
[Dart] 3. 함수 사용(Function)  (0) 2023.12.05
[Dart] 1. Dart 언어시작  (0) 2023.12.05