void main(){ //main을 hello로 바꿔서 강제로 실행하면 오류가 날 것이다.
print('hello world');
}
void main(){
var name = '성연';
name = '일영';
name = 0; //X 불가능하다 -> 위에서 name을 문자열로 선언했기 때문에
//같은 문자열로 바꿀 수 있어도 다른 type으로는 바꾸지 못한다
}
void main(){
String name = '성연';
name = '일영';
print(name);
}
var: 관습적으로 함수나 메소드 내부에 지역 변수를 선언할 때는 var 사용한다
String: class에서 변수나 property(속성)를 선언할 때에는 타입 지정한다(클래스는 다른 부분에서도 사용 가능하기 때문이다)
void main(){
var name; //name은 dynamic 타입이다.
dynamic name2; //가능
}
void main(){
String? name = "hi"; //형식 뒤에 ? 붙여준다
hi = null;
}
void main(){
final name = 'nico'; //name 수정 불가능
}
final String name = 'nico';
선언 가능하지만 Dart는 형식을 자동으로 추론한다.void main(){
late final name;
name = 'nico';
print(name);
}
void main() {
const name = "tom"; // 컴파일 시점에 바뀌지 않는 값
final username=fetchAPI(); // 컴파일 시점에 바뀌는 값
}