다트(dart) 언어는 https://dartpad.dartlang.org/ 에서 연습하면 된다.
IntelliJ IDEA community 툴을 사용하는 경우에는 https://link2me.tistory.com/2208 게시글을 참조하면 Dart 를 이용할 수 있다.
다트(dart) 문법은 main() 함수가 진입점(entry point)이다.
다트(dart)의 모든 것은 객체(object)이다.
다트의 변수는 참조(reference)를 저장한다.
다트에서는 변수 선언을 두가지 방법으로 할 수 있다.
var x; // x가 숫자 타입인 경우에도 x의 값은 0이 아니라 null 이다.
String x; // <어떤 특정 타입> x;
다트는 정적 타입과 동적 타입(var, dynamic) 둘다 제공한다.
변수명 앞에 타입을 선언한다.
변수 종류를 Type 또는 자료형이라고 한다.
var는 할당을 통해 타입이 결정되면 그 이후에는 타입을 변경할 수 없다. 따라서 진정한 의미에서 동적 타입은 아니다.
우변 변수나 데이터의 타입을 신경쓰지 않아도 다트 컴파일러에서 추론한다.
var 타입은 최초 할당된 값을 참고하여 해당 변수의 타입을 추론한다.
void main() {
var x = 10; // 타입추론으로 x 가 int 형으로 설정된다.
print(x);
x = 5.5; // 정수형으로 결정된 x 변수에 double 형을 할당 불가
print(x);
}
|
int 와 double은 모두 num 의 서브클래스이다.
void main() {
num x = 10; // num 은 int 와 double 의 상위 클래스
print(x);
x = 5.5; // double 형 할당 가능
print(x);
}
|
final num x = 10;
final 지시어는 어떤 변수를 참조하는 값이 한번 설정되면 다른 값으로 변경될 수 없다는 의미이다.
dynamic 은 x가 시간에 따라 참조하는 내용이 변경될 수 있음을 다트에게 알려준다.
또는 최상위 클래스인 Object 를 사용해도 된다.
void main() {
dynamic x = 10;
print(x);
x = 5.5; // double 형 할당 가능
print(x);
}
|
int 와 double 클래스의 toString() 메소드를 사용해 숫자를 문자열로 바꿀 수 있다.
void main() {
int x = 10; // 정수형
double y = 5.5; // 실수형
String sx = x.toString(); // 문자열
String sy = y.toString(); // 문자열
print(x);
print(y);
print(sx);
print(sy);
}
|
int 와 double 클래스의 parse() 메소드를 사용해 문자열을 숫자로 바꿀 수 있다.
void main() {
String sx = '10';
String sy = '5.5';
int x = int.parse(sx);
double y = double.parse(sy);
print(sx);
print(sy);
print(x);
print(y);
}
|
null 을 할당할 수 있다.
void main(){
double? number = 4.0;
print(number);
number = 2.0;
print(number);
number = null;
print(number);
number ??= 3.0; // number가 null 이면 3.0으로 결과를 반환하라.
print(number);
}
|
void main(){
int number = 1;
print(number is int);
print(number is String);
print(number is! int);
print(number is! String);
}
|
'Flutter 앱 > Dart 언어' 카테고리의 다른 글
Dart Class(클래스) (0) | 2022.06.27 |
---|---|
Dart Asynchronous programming(비동기 프로그래밍) (0) | 2022.06.23 |
Dart function(함수) (0) | 2022.06.22 |
Dart Type 검사(is, is!) (0) | 2022.06.22 |
Dart const, final (0) | 2022.06.22 |