ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Dart 언어 타입 (type)
    Programming/Dart 2020. 6. 3. 14:25

    https://dart.dev/guides/language/language-tour#built-in-types

     

    A tour of the Dart language

    A tour of all of the major Dart language features.

    dart.dev

    참고하여 작성하였습니다.

     

    1. numbers

    2. strings

    3. booleans

    4. lists

    5. sets

    6. maps

     

    1) numbers

    int, double 두가지 타입이 있으며 num 의 subtype 입니다.

    main() {
      
      int a = 1;
      double b = 1.42e5;
      
      print(a); // 1 출력
      print(b); // 142000 출력
      
    }
      
    main() {
      
      int a = 1;
      double b = a; // error 자동으로 타입을 변환해 주지 않는다
      double b = a as double; // ok 타입을 변환해줘야 된다.
      
    }
    

     

    2) Strings

    string 은 sing quotes, double quotes 로 만들 수 있습니다.

    main() {
      
      String name = '홍길동'; // sing quote
      String color = "green"; // double quote
      
      print(name);
      print(color);
      
    }

    string ${expression} 표현식으로 문자열을 표현할 수 있습니다.

    main() {
      
      String name = '홍길동'; 
      
      print("내 이름은 ${name} 입니다."); // 내 이름은 홍길동 입니다. 출력
      
    }

    멀티라인 string 은 ''', """ 로 만들 수 있습니다.

    main() {
      
      // 멀티라인 string 은 ''' 혹은 """ 로 생성할 수 있습니다.
      
      String story = '''
      안녕하세요!
      저는 서울에 삽니다.
      ''';
      
      String story2 = """
      안녕하세요.
      날씨가 좋습니다.
      """;
      
      print(story);
      
      /**
      안녕하세요!
      저는 서울에 삽니다.
      */
      
      print(story2);
      
      /**
      안녕하세요.
      날씨가 좋습니다.
      */
      
    }

    3) List

    Dart 언어에서는 List 가 array 입니다.

     

    main() {
    
      var list = [1,2,3]; // List 생성
      
      print(list); // [1, 2, 3]
      
      print(list.length); // 3 출력, List 의 길이
      
      list[1] = 1; // index 1 값을 1 로 변경
      
      print(list); // [1,1,3] 출력
      
    }

    Dart 2.3 부터 spread 연산자(spread operator) 를 지원합니다. spread 연산자를 사용하면 List 의 모든 엘리먼트를 다른 List 에 추가할 수 있습니다.

    main() {
      
      // spread 연산자 사용방법
      var list = [1, 2, 3];
      var list2 = [0, ...list]; // list 의 엘리먼트들을 추가한다.
      
      print(list2); // [0, 1, 2, 3]
      
    }

    Dart 2.3 부터 null-aware spread operator (...?) 연산자가 추가 되었습니다. ...? 오른쪽 List 가 null 일경우 다른 List 에 엘리먼트를 추가 하지 않습니다. 따라서 에러가 발생하지 않습니다.

    main() {
      
      // null-aware spread operator (...?) 사용방법
      var list;
      var list2 = [0, ...list]; // list 가 null 이기 때문에 spread 연산자를 사용하면 에러가 발생한다.
      print(list2); // error 
      
      var list3 = [0, ...?list]; // list가 null 일경우 list3 에 추가되지 않기 때문에 에러를 발생시키지 않는다.
      print(list3); // [0] 출력
      
    }

    4) Map

    Map은 key, value 로 연결되는 object 입니다. key, value 는 둘다 어떤 타입도 가능합니다.

    main() {
      
      // Map<String, String>
      var colors = {
        'first': 'red',
        'second': 'blue',
        'third': 'green'
      };
      print(colors); // {first: red, second: blue, third: green}
      
      // Map<int, String>
      var items = {
        1: 'one',
        2: 'two',
        3: 'three'
      };
      print(items); // {1: one, 2: two, 3: three}
      
    }

    Map 생성자를 사용할 수도 있습니다.

    main() {
      
      var colors = Map();
      colors['first'] = 'red';
      colors['second'] = 'blue';
      colors['three'] = 'green';
      print(colors); // {first: red, second: blue, three: green}
      
      // javascript 처럼 key-value 쌍을 기존 Map 에 추가할 수 있습니다.
      colors['fourth'] = 'yellow';
      print(colors); // {first: red, second: blue, three: green, fourth: yellow}
      
    }

     

    'Programming > Dart' 카테고리의 다른 글

    Dart 언어의 const vs final 의 차이  (0) 2020.05.31
    Dart 언어의 개요  (0) 2020.05.30

    댓글

Designed by Tistory.