일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- rxjava disposable
- 안드로이드 유닛 테스트
- 안드로이드 라이선스
- 안드로이드 레트로핏 사용법
- 멤버변수
- Rxjava Observable
- android ar 개발
- 스택 큐 차이
- 2022 플러터 안드로이드 스튜디오
- 객체
- 안드로이드 유닛 테스트 예시
- 서비스 vs 쓰레드
- 안드로이드 라이선스 종류
- jvm이란
- android retrofit login
- 자바 다형성
- 서비스 쓰레드 차이
- 클래스
- ar vr 차이
- jvm 작동 원리
- 큐 자바 코드
- 안드로이드 레트로핏 crud
- rxjava cold observable
- 2022 플러터 설치
- rxjava hot observable
- 안드로이드 유닛테스트란
- ANR이란
- 플러터 설치 2022
- 안드로이드 os 구조
- 스택 자바 코드
- Today
- Total
나만을 위한 블로그
[Dart] 자료형 본문
Dart의 공식문서에 잘 설명돼 있긴 하지만 영어로 돼 있어서 번역해 보기 귀찮기 때문에 한글로 정리해둔다.
Dart의 자료형 종류는 아래와 같다.
Runes는 클래스인데 사용법을 보니 문자의 유니코드 숫자를 가져올 때 사용하는 것 같아 생략한다.
- int
- double
- String
- bool
- List<T>
- Set
- Map<K, V>
이제 하나씩 확인해본다.
int
https://dart.dev/guides/language/language-tour#numbers
플랫폼에 따라 64비트 이하의 정수값이다. 기본 플랫폼에서 값은 -2^63에서 2^63-1 사이일 수 있다. 웹에서 정수값은 자바스크립트 숫자로 표시되며 -2^53에서 2^53-1일 수 있다
공식문서에서 말하는 기본 플랫폼은 안드로이드, iOS를 말하는 것으로 생각된다. 앱과 웹에서 사용될 수 있는 범위가 각각 다르니 주의만 하면 될 것 같다. 다른 언어들과 같이 사용법은 대충 아래와 같다.
void main() {
int number1 = 1;
int number2 = 2;
print(number1 + number2); // 3
}
double
Dart에는 float 자료형이 없고 double만 있다.
void main() {
double a = 1.0;
double b = 1.0;
print(a + b); // 2
}
String
설명이 필요없다. 특이점이라면 코틀린처럼 문자열 안에 $를 사용해서 변수값을 바로 표시할 수 있다.
void main() {
int num = 1;
String a = "하이 $num";
print(a); // 하이 1
}
그래서 이렇게도 사용할 수 있다.
void main() {
int num1 = 1;
int num2 = 2;
String a = "$num1 + $num2는 ${num1 + num2}";
print(a); // 1 + 2는 3
}
bool
boolean으로 만들어주지 애매하게 bool이라고 만들어놔서 자꾸 헷갈린다. 그 외에는 별 거 없다.
void main() {
bool isReady = false;
bool isClicked = true;
}
List
List를 만들고 직접 값을 넣을 때는 [] 안에 넣는다. List 우측에 제네릭을 쓰는 것은 똑같다.
코틀린처럼 특정 인덱스에서 값을 찾을 때 [] 안에 숫자를 넣고 그 위치의 값을 가져올 수 있다.
void main() {
List<int> numbers = [1, 2, 3, 4, 5];
print(numbers); // [1, 2, 3, 4, 5]
print("numbers의 1번 인덱스 값 : ${numbers[1]}"); // numbers의 1번 인덱스 값 : 2
}
Map
Map을 만들고 직접 값을 넣을 때는 {} 안에 넣는다. List와 똑같이 Map 우측에 키값들의 제네릭을 쓴다.
키에 매핑된 값을 가져올 수 있지만 값으로 키를 가져올 수 없다. 대신 키밸류들을 각각 출력해서 확인할 수는 있다.
void main() {
Map<String, String> map = {
"a" : "에이",
"b" : "비"
};
print(map); // {a: 에이, b: 비}
print("a키에 매핑된 값 : ${map["a"]}"); // a키에 매핑된 값 : 에이
print("에이 value에 매핑된 키 : ${map["에이"]}"); // 에이 value에 매핑된 키 : null
print("map의 key들만 출력 : ${map.keys}"); // map의 key들만 출력 : (a, b)
print("map의 value들만 출력 : ${map.values}"); // map의 value들만 출력 : (에이, 비)
}
Set
Set도 다른 언어에서의 Set과 별 차이 없다.
void main() {
final Set<String> nameSet = {"a", "b", "a"};
print(nameSet); // {a, b}
print(nameSet.contains("c")); // false
}
'Flutter' 카테고리의 다른 글
[Dart] 함수(Function) 알아보기 (0) | 2023.05.07 |
---|---|
[Dart] mixin이란? (0) | 2023.04.30 |
[Flutter] BuildContext란? Widget이란? (0) | 2023.01.24 |
[Dart] Dart란? (0) | 2022.11.11 |
[Flutter] 안드로이드 스튜디오에 플러터 설치하는 법 [2022 Ver] (0) | 2021.07.28 |