0. VS 코드 설정
- 플러그인으로 Dart다운로드 해서 사용가능하게 하기

- VS코드에서 하는 이유?
- Dart공부를 하기 위함이지 안드로이드 스튜디오를 이용한 개발 단계가 아니기 때문
1. 변수와 객체
// 1. dart는 모든 것들이 1급 객체다. >> 스스로 메모리에 뜸
// 2. heap, stack, static
// 클래스 외부의 변수 >> 객체로 static으로 뜸
int n1 = 1; // static
double d1 = 10.1;
bool b1 = true;
String s1 = "홍길동";
var n2 = 10; // 해당 라인이 실행될 때 타입이 결정 >> 타입 추론
dynamic n3 = 20; // 다이나믹 타입(오브젝트 타입) >> 타입이 결정되지 않음 >> 타입 추론 X
class hello {
int n2 = 2; // static 아님
static int n3 = 3; // static
}
void main() {
print("n1 ${n1.runtimeType}");
print("d1 ${d1}");
print("b1 ${b1}");
print("s1 ${s1}");
print("n2 ${n2}");
// n2 = 10.5; >> 이미 타입이 int로 결정되어 쓰일 수 없음
print("n3 ${n3}");
n3 = "둘리"; // 타입이 int에서 String으로 변경됨
print("n3 ${n3}");
}
2. null 대체 연산자
void main() {
String? username = null; // 특정 타입에 null을 가질수 있게하려면 `?`를 붙여야 함
print(username);
print(username == null ? "홍길동" : username); // 삼항 연산자
print(username ?? "홍길동"); // null 대체 연산자
}
3. 익명 함수와 람다식
// 익명 함수 >> 반환 소비 전부 가능
Function k = () {
return 1;
};
// var 가능
var k2 = () {
print(1);
return 1;
};
void render(Function k) {}
// 람다표현식 >> 반환만 가능
Function h = () => 1;
void main() {
int result = k();
print(result);
}
Share article