import 'dart:ffi';
void main(){
print('Hello World');
print('안녕하세요');
// 변수 선언
var name = "찐공 테스트";
// A value of type 'int' can't be assigned to a variable of type 'String'.
// name = 1; -> 오류 발생 : 처음 할당된 값과 다른 타입의 값을 넣으면 오류가 발생하는 var
print(name);
name = '홍길동';
print(name);
// dynamic 키워드 사용하기
dynamic name2 = "홍길동"; // 처음 할당된 값과 다른 타입의 값을 넣어도 오류가 발생하지 않는 dynamic
name2 = 1;
print(name2);
// 상수 선언
/*
final, const는 변수를 상수로 만드는 기능을 제공한다
const : 코드를 실행하지 않은 상태에서 값이 확정됨
final : 코드를 실행하는 순간에 값이 확정됨
*/
final String name3 = "테스트1";
// name3 = 1; 오류 발생( final -> 상수 )
// The final variable 'name3' can only be set once.
const String name4 = "테스트2";
// name4 = 1; 오류 발생( const -> 상수 )
// Constant variables can't be assigned a value.
// final : 런타임(RunTime) 시에 값이 결정된다
final DateTime now = DateTime.now();
print(now);
// const : 빌드타임(Build-Time) 시에 값이 결정된다
// const DateTime now2 = DateTime.now(); -> 오류 발생 : 런타임 시에만 반환되는 값은 const로 지정이 불가능하다
// The constructor being called isn't a const constructor. (Documentation) Try removing 'const' from the constructor invocation.
}