티스토리에 코드블럭에 dart 문법이 없다니.... 별루당^^
TYPE
Var
자동 타입 변환
나중에 긴 코드에서 코드 읽기 힘듦
정수
int number1 = -20;
실수
double number2 = 2.5;
bool
bool isTrue = true;
bool isFalse = false;
String
String name = '레드벨벳';
String name2 = '슬기';
print(name + name2); // 레드벨벳슬기
print('${name}은 $name2'}; // 레들벨벳은 슬기
Dynamic
어떤 타입이든 가능
var랑 뭐가 다르지? -> var은 한번 선언하면 타입 변경 불가, dynamic은 변경 가능
nullable, non-nullable
? : null 입력 가능
! : null이 아님을 보장
String name = '코드팩토리';
name = null; // 오류
print(name); // 오류
String? name2 = '블랙핑크';
name2 = null;
print(name2); // null
print(name2!); // name2는 절대로 null이 아니다!
final, const
☑ 둘다 한번 정한 값은 변경 불가
☑ final : 빌드 타임에 값을 알고 있지 않아도 됨
☑ const : 빌드 타임에 값을 알고 있어야 함
final String name = '코드팩토리';
print(name); // 코드팩토리
const String name2 = '블랙핑크';
print(name2); // 블랙핑크
name2 = '코드팩토리'; // 불가 에러남
☑ var 생략가능
final ename = '나무늘보';
const a = 12;
null
?? : 왼쪽 값이 null 일때만 오른쪽 값을 대입해라.
double? number = 4.0;
print(number); // 4
number = 2.0;
print(number); // 2
number = null;
print(number); // null
number ??= 3.0;
print(number); // 3
type 비교 오퍼레이터
int number1 = 1;
print(number1 is int); // true
print(number1 is! int); // false
&&, ||
bool result = 12 > 10 && 1 > 0; // true
bool result2 = 12 > 0 || 1 < 0; // true
List
List<String> blackPink = ['제니', '리사', '로제', '지수'];
List<int> numbers = [1, 2, 3, 4, 5];
index
print(blackPink[0]); // 제니
length
print(blackPink.length); // 4
add
blackPink.add('나무늘보');
print(blackPink); // [제니, 리사, 로제, 지수, 나무늘보]
remove
blackPink.remove('나무늘보');
print(blackPink); // [제니, 리사, 로제, 지수]
indexOf
print(blackPink.indexOf('로제')); // 2
Map
키, 값을 가지는 자료구조
Map<String, String> dict = { 'Harry Potter', '해리포터', 'Ron Weasley', '론 위즐리');
print(dict); // {Harry Potter : 해리포터, Ron Weasley : 론 위즐리}
맵 생성
Map<String, bool> isHarryPotter = {
'Harry Potter' : true,
'Surfing Sloth' : false};
맵 값 여러개 추가
isHarryPotter.addAll{
'SpiderMan' : false
});
print(isHarryPotter['Spiderman']); // false
맵 값 변경
isHarryPotter['Spiderman'] = true;
맵 삭제
isHarryPotter.remove('Harry Potter); // Harry Potter 삭제
맵 전체 출력
print(isHarryPotter); // {'Surfing Sloth' : false, 'Spiderman' : true}
키 값만 가져오기
print(isHarryPotter.keys); // {'Surfing Sloth', 'Spiderman'}
value 값만 가져오기
print(isHarryPotter.values); // {false, true}
Set
리스트랑 같은데 중복 안됨
'Flutter > 문법' 카테고리의 다른 글
[플러터] 화면간 데이터 전달 (0) | 2023.05.21 |
---|---|
[플러터] 객체 생성 및 선언, 생성자 (0) | 2023.05.17 |
댓글