구글(Google)이 웹 프론트엔드 구현을 목적으로
2011년에 발표한 웹 프로그래밍 언어(https://dart.dev/)입니다.다트는 프론트엔드 뿐만 아니라 서버 프로그래밍, 명령어 스크립트 등으로 사용이 가능하며 웹앱이 아닌 네이티브 코드로 안드로이드 및 ios 용 앱을 동시에 개발하는 것도 가능합니다.
void main() {
// Hello World 출력
print('Hello World');
}
- 스코프(Scope)란?
우리말로 번역하면 '범위' 라는 뜻으로
'변수에 접근할 수 있는 범위'를 말합니다.
var name = 'Dart1';
var name = 'Dart2'; // 에러
void main() {
// 정수
// integer
int number1 = 10; // 양수
int number2 = -10; // 음수
print(number1); // 10
print(number2); // -10
print(number1 + number2); // 0
print(number1 - number2); // 20
print(number1 / number2); // -1
print(number1 * number2); // -100
}
void main() {
// 실수
// double
double number1 = 2.5;
double number2 = 0.5;
print(number1 + number2); // 3
print(number1 - number2); // 2
print(number1 / number2); // 5
print(number1 * number2); // 1.25
}
void main() {
// 맞다 / 틀리다
// Boolean
bool isTrue = true;
bool isFalse = false;
}
- 문자 타입은 문자값만 대입할 수 있습니다.
- var 는 대입한 값에 따라 자동으로 타입을 유추를 합니다.
- 앞에 선언한 타입을 타입에 맞게 직관적으로 명시해주면 코드 가독성이 좋아집니다.
void main() {
// 글자 타입
// String
String name1 = '다트';
String name2 = '언어';
print(name1); // 다트
print(name2); // 언어
print(name1 + name2); // 다트언어
// 띄어쓰기
print(name1 + ' ' + name2); // 다트 언어
print('${name1} ${name2}'); // 다트 언어
var name3 = '플러터';
var number = 10;
print(name3.runtimeType); // String
}
- var 타입의 경우 한 번 변수를 선언하면
선언했던 변수의 타입으로 픽스(fix)가 되어 타입을 변경할 수 없습니다.
- 다이나믹 타입(dynamic type)의 경우
선언했던 변수의 타입과 무관하게 여러번 타입을 변경할 수 있습니다.
void main() {
dynamic name1 = '다트';
print(name1);
dynamic number = 1;
print(number);
var name2 = '언어';
print(name2);
print(name1.runtimeType); // String
print(name2.runtimeType); // String
name1 = 2; // 2
name2 = 5; // 에러
}