3. [Flutter] 컬렉션 - 데이터의 저장, 조작
다트패드를 이용하는 환경의 경우 Run 버튼으로,
안드로이드 스튜디오의 경우 아래의 Terminal 탭을 누른 후 터미널에 dart lib/main.dart 명령어를 실행하면 콘솔을 통해 확인할 수 있다.
void main() {
// 코드내용
}
//void는 아무 값도 반환하지 않는다는 의미
//()에 입력받은 매개변수 지정 가능
// 한 줄 주석
/*
* 여러줄
* 주석처리
* 관행상 중간에 기호 삽입
*/
/// 문서 주석 (Documentation으로 인식함)
void main() {
print('Hello World');
}
void main() {
var name = 'VarTest'; // 변수 초기화
print(name); // name 변수 출력
name = 'yawn'; // 변수 값 변경
print(name); // 변경된 name 변수 출력
// 변수명 중복 불가
}
void main() {
dynamic name = 'DynamicTest'; // dynamic string 타입으로 추론되어 name 변수 초기화 선언
name = 1; // dynamic int 타입으로 추론되어 name 변수에 값 저장
}
final
과const
는 런타임과 빌드타임에서 동작하는 방식에 차이가 있다.
final
키워드로 선언된 변수는 런타임에 값이 할당되며, 한 번 할당된 이후에는 변경할 수 없다. 이른 변수가 런타임에서 초기화되는 것을 의미하며,final
변수는 프로그램이 실행되는 동안에만 값이 변경되지 않는다.- 반면
const
키워드로 선언된 변수는 빌드타임(컴파일 시)에 값이 할당된다.
이는 컴파일러가 프로그램을 컴파일 하는 과정에서 상수 값으로 대체되는 것을 의미하며,const
변수는 프로그램이 실행되기 전에 이미 값을 가지고 있고, 런타임에는 변경되지 않는다.
런타임 변수 예: 계산 결과
빌드타임 변수 예: API 키
void main() {
final String name = 'blping'; // 런타임 상수 final
neme = 'bangtan'; // 에러, 선언 후 값 변경 불가
const String name = 'bangtan'; // 빌드타임 상수 const
neme = 'blping'; // 에러, 선언 후 값 변경 불가
}
void main() {
String name = 'yawn'; // 문자열
int isInt = 128; // 정수형
double isDouble = 2.5; // 실수형
bool isTrue = true // 불리언 (참/거짓)
print(name);
print(isInt);
print(isDouble);
print(isTrue);
}
Must Have 코드팩토리의 플러터 프로그래밍 - 최지호(코드팩토리) [도서]