[Dart] Flutter에 쓰이는 다트 Dart 언어 (특징,기초)

josungwoo·2022년 9월 22일
3

Dart

목록 보기
1/1
post-thumbnail

Dart 언어란


  • 구글이 멀티 플랫폼에서 동작되도록 하는 앱을 위해 디자인된 프로그래밍 언어

Dart 언어의 특징


  1. Dart는 main()으로 시작됩니다
  2. Dart는 어디에서나 변수를 선언 및 사용할 수 있습니다
  3. Dart는 모든 변수가 객체(Object) 입니다 // Ex) 함수, 숫자, 널 모두 객체로 취급함
  4. 자료형에 엄격한 언어(Typed언어), 변수에 지정한 자료형만 저장해야함 하지만 dynamic 자료형은 여러 자료형 허용
  5. List,List과 같은 제네릭 타입을 허용
    `List list = [1, 2, '3', true, false];` => `[1, 2, 3, true, false]`
  6. Dart는 public, protect 같은 키워드(접근 지정자)가 없습니다
    대신 함수앞에 _ 를 붙임으로서 DartPage 단위로 정의할수 있습니다 // Ex) _funtion()
  7. 변수나 함수의 시작은 언더스코어(_) 또는 문자열로 시작하고 그 후에 숫자를 입력할수 있습니다
  8. Null safety를 지원합니다 2.0에서 새롭게 추가된 기능입니다
  9. 명령 단위는 세미콜론(;)으로 끝난다.

기초 문법


주석

  //주석

  /**
  주석
  **/

Hello World 출력하기

   void main() {
    print('Hello World');
    }

자료형 및 변수선언

  void main() {
    // 정수형 선언
    int number1 = 17;
    print(number1);
    int number2 = 17 ~/ 4; //나누기
    print(number2); // 4
    int number3 = 17 % 4; //나머지
    print(number3); // 1

    //실수형 선언
    double pi = 3.14;
    print(pi); //3.14

    //불리언 선언
    bool visible = true;
    print(visible); //true

    //리스트
    List array = [1, 2, 3];
    print(array);
    print(array[1]);

    //맵 Map Key:value
    Map snack = {'name': '포카칩', 'price': '1600'};
    print(snack); // {name: 포카칩, price: 1600}
  }

int, double은 num type의 하위 집합이라 num으로 선언 가능

var 타입 추론

  • 변수 지정시 자료형을 써주지 않을시 처음 선언한 값이 데이터 타입이 된다.

  • 일반적으로 많이 사용

    void main() {
      var test = 25;
      print(test);
      test = 13;
      test = '나이'; //Error 발생
    }

final과const

  • 공통점
    • 값을 한번만 선언 할 수 있다.
    • final, const 뒤에 타입을 명시해 주지 않아도 자동으로 자료형이 추론된다.
  • 차이점
    • const의 경우 상수를 정의할수 있다. 즉 런타임에서 정의되는 값 설정 불가 // Ex) DateTime.now()

      void main() {
      final DateTime now = DateTime.now(); // 정상 작동
      const DateTime now = DateTime.now(); // 에러 발생
      }

타입 검사

  • is를 사용해서 검사

      int a = 4;
      print(a is int); //true
      print(a is! int); //false

    함수

  • 코드의 묶음 단위

    • 입력받는 문자 : 매개변수 parameter
    • 실제로 받는 값 : 인수 argument
    • 반환값 : Return
  • 변수 삽입 방법

    • 변수 앞에 $를 붙여 문자열 내에 변수 삽입 가능 또한 ${} 를 사용해 표현식 입력 가능

      String name = '홍길동';
      num age = 21;
      void main() {
      print('$name은 ${age}살 입니다'); 홍길동은 21살 입니다
      print('$name은 ${2022 - age + 1}년에 태어났습니다'); 홍길동은 2002년에 태어났습니다
      }

익명 함수

  • ([인수명]) { [동작 or Return 값] }

    (number) {
    return number % 2 == 0;
    };

람다식

(number) => number%2 == 0;

분기와 반복

  • 조건문

    if (조건) {
      실행문
    }
    else if (조건) {
      실행문
    }
    else{
      실행문
    }
  • 반복문

    for (var i =0; i<10; i++){
      print(i);
    }
profile
StartUp, ML/DL Engineer, DevOps

1개의 댓글

comment-user-thumbnail
2022년 12월 16일

어라 다트가 단순해보이네

답글 달기