Dart 기본 문법


Main 함수

// 기본 Dart 함수
void main() {
  print('Hello, World!');
}

// Flutter 프로젝트 내에서의 기본 함수
void main() {
	runApp(const MyApp());
}

변수 선언

Type을 구분하나, var 키워드를 이용해 암시적인 방식으로 선언 가능

dynamic 타입으로 선언하면 어떤 형식이든 받아들임

// 익숙한 방식
int A = 10;
String B = "Hello, World!";

// String 형식
var name = 'Voyager I';
// Int 형식
var year = 1977;
// Double 형식
var antennaDiameter = 3.7;
// Array<String> 형식
var flybyObjects = ['Jupiter', 'Saturn', 'Uranus', 'Neptune'];

// 선언 시점에는 어떤 형식인지 알 수 없기 때문에 Dynamic 형식
var A;
dynamic A;

// 변수 이름 앞에 _가 붙는다면 Private 타입
// 기본적으로 모두 Public 타입
var _privateVariable;
var publicVariable;

Null Safety

null이 담길 수 있는 형식과 담길 수 없는 형식을 구분

Type 뒤에 ? 를 붙이면 null 이 담길 수 있는 Nullable 타입이 됨

Nullable 변수 뒤에 ! 를 붙이면 null 이 아니라고 강제로 지정

void printMessage(String msg) {
	print(msg);
}

void main() {
	String? A = null;
	String? B = "Hello, World!";
	
	printMessage(A); // A가 Nullable 이기 때문에 오류
	printMessage(B!); // !를 붙여 Nullable이 아니라고 강제로 지정
}

견고한 null 안전성

조건문 / 반복문

// 조건문...
if (year >= 2001) {
  print('21st century');
} else if (year >= 1901) {
  print('20th century');
} else {
	print('20th century');
}

// List 반복문 : Python 에서 익숙한 그것
for (final object in flybyObjects) {
  print(object);
}

// C/Java 스타일의 for문
for (int month = 1; month <= 12; month++) {
  print(month);
}

while (year < 2016) {
  year += 1;
}

Ref. Document

Dart 언어 소개

Flutter 프로젝트