front end/flutter, dart

Dart 입문. 기초 문법

노루아부지 2023. 5. 11. 06:33

1. 메인 함수

dart는 프로그램 시작점인 엔트리 함수 기호로 main()을 사용합니다.

main 뒤에 있는 괄호 안에 입력받을 매개변수를 지정할 수 있습니다.

void main() {

}

 

2. 주석

주석은 javascript에서 사용하는 //와 /* */를 동일하게 사용합니다.

 

 

3. print() 함수

print() 함수는 문자열을 콘솔에 출력하는 함수입니다.

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

 

4. dynamic을 사용한 변수 선언

var 타입은 변수의 값을 사용해서 변수의 타입을 유추하는 키워드입니다. 타입을 한번 유추하면 추론된 타입이 고정됩니다. 따라서 변수 타입이 다른 값을 저장하려고 하면 에러가 발생합니다.

하지만 dynamic 키워드를 사용하면 변수의 타입이 고정되지 않아서 다른 타입의 값을 저장할 수 있습니다.

void main() {
  dynamic name = 'Hello World';
  name = 1;
}

 

5. final/const를 사용한 변수 선언

final과 const 키워드는 변수의 값을 처음 선언 수 변경할 수 없습니다.

void main() {
  final String name = 'hong';
  name = '홍길동';
}

 

위 코드를 실행하면 다음과 같이 에러가 발생합니다. const도 동일합니다.

콘솔 에러

 

final은 런타임 상수이고, const는 빌드타임 상수입니다.

이 둘의 차이점은 DateTime.now() 함수를 통해 알 수 있습니다. DateTime.now() 함수는 함수가 실행되는 순간의 날짜 및 시간을 알려주는 함수입니다. 즉, 런타임 때 값을 알 수 있다는 것입니다.

 

따라서 아래와 같이 const를 사용하면 에러가 발생합니다. const로 지정한 변수는 빌드타임때 값을 알 수 있어야 하는데, 값을 알 수 없기 때문입니다.

void main() {
  const DateTime now = DateTime.now();
  print(now);
}

콘솔 에러

 

 

6. 변수 타입

우리가 알던 예전 javascript와 다르게 dart에서는 자료형을 명확히 선언할 수 있습니다.

void main() {
  // 문자열
  String name = '홍길동';
  
  // int - 정수
  int age = 30;
  
  // double - 실수
  double weight = 65.3;
  
  // boolean - boolean (true / false)
  bool isTrue = true;
  
  print(name);
  print(age);
  print(weight);
  print(isTrue);
}

 

728x90
loading