var message = 'Hello World';
dart는 type safe language이기 때문에 변수의 형식을 표시해주지 않아도 된다.
var message = 'Hello World';
message = 5;
/// Error: A value of type 'int' can't be assigned to a variable of type 'String'.
위와 같이 이미 String 형식으로 결정이 된 변수에 int 값을 넣으려고 하면 에러가 발생한다. 변수의 타입 변경이 필요하다면 dynamic으로 선언한다.
dynamic message = 'Hello World';
message = 5;
var list = [1, 2, 3];
var halogens = {'fluorine', 'chlorine', 'bromine'};
var gifts = {
// Key: Value
'first': 'partridge',
'second': 'turtledoves',
'fifth': 'golden rings'
};
const로 선언되면, 절대 바뀌지 않는다.
const name = "Oeckikek";
name = "oeck";
/// Error: Constant variables can't be assigned a value.
const로 선언한 변수의 값을 바꾸려고 하면 위와 같이 에러가 발생한다.
또한, 선언을 하고 바로 값을 초기화 시켜주어야 한다.
const myName;
/// Error: The constant 'myName' must be initialized.
final도 const와 마찬가지로 상수를 선언할 때 사용된다. const와 다른 점은 컴파일 타임에는 상수일 필요가 없다는 것이다.
final city = "Seoul";
city = "S";
/// Error: The final variable 'city' can only be set once.
final로 선언한 변수의 값을 바꾸려고 하면 위와 같이 에러가 발생한다.