반응형
Flutter의 변수나 자료형에 대한 기초이다.
----------------------- 자료형 -----------------------
우선 문자열을 할당할 떄는 "문자"; 큰따옴표, '문자'; 작은따옴표 둘 다 사용이 가능하다.
String, int, double...
필요에 따라 사용하면 되지만 유일하게 다른 것은 바로 var이다
var test = "문자열";
test = 123; // 에러발생 오직 처음에 할당했던 타입만 할당가능하다
----------------------- dynamic 타입 ------------------
dynamic 타입은 var와 비슷하게 활용이 가능하지만
dynamic test = "문자열";
test = 123; //에러가 발생하지 않음
----------------------- Null Safety ------------------
사용 이유 : 개발 시 실수를 막을 수 있고 코드의 안정성을 올려준다.
String test = "문자열"; //에러 발생하지 않음
String test = null; //에러 발생
String? test = null; //에러 발생하지 않음
----------------------- late 키워드 ------------------
late String test; //null , 초기화 되지않음
test = "문자열"; //늦은 초기화
Null Safety와 late 키워드의 기능은 같으나
late를 사용하면 변수 선언 시 당장은 값을 할당하지 않더라도 추후에 사용하겠다는 명시성 때문에
사용을 권장한다.
----------------------- final ------------------------
final : 값을 할당하면 새로운 값을 할당할 수 없음.
final double test; //선언 시 값을 할당하지 않아도 에러가 발생하지 않음
test = 0.123; //추후 값을 할당 가능
----------------------- const ------------------------
const : 값을 할당하면 새로운 값을 할당할 수 없음.
const double test; // 에러 발생 : 반드시 선언과 동시에 값을 할당해야함
const double test = 0.135; // 에러가 발생하지 않음
------------ 연산자의 경우 특수한 다른 언어들을 제외하고는 동일 ------------
----------------------- List -----------------------
List<String> test = []; // 빈 list를 생성
List<String> test = ["A","B","C"]; // 선언과 동시에 값을 할당해도 됨
test.add("D") // 값 추가
test.removeAt(0) // 값 삭제 - 인덱스로 삭제되기 때문에 "A"가 삭제됨
test[0] = "ㄱ" // 값 수정 - 수정하고자 하는 인덱스에 해당하는 데이터를 새로 할당함
----------------------- Map ------------------------
Map = key, value의 형태
Map<String, int> test = {}; // 빈 Map을 생성
Map<String, int> test = {
"바북이1" : 1,
"바북이2" : 2,
"바북이3" : 3,
}; // 선언과 동시에 값을 할당
print(test["바북이1"]); // 1이 출력됨
test["바북이1"] = 123 ; // 바북이1에 해당하는 value를 123으로 수정
----------------------- Map을 for로 출력 -----------
test.forEach((key, value){
print('$key의 숫자는 $value 입니다.');
});
반응형