다트의 기본 타입에 대해서 알아보자!!
1. Numbers
다트에서 Numbers는 두 가지이다.
- int
플랫폼에 따라 64비트 이하의 정수 값을 갖는다. 기본 플랫폼에서 int값은 -2^64에서 2^63 - 1 사이일 수 있다. 웹에서 정수 값은 JavaScript 숫자(소수 부분이 없는 64비트 부동 소수점 값)으로 표시되며 -2^53에서 2^53 - 1일 수 있다.
- double
IEEE 754 표준에서 지정한 64비트(배정밀도) 부동 소수점 숫자.
int와 double은 모두 num의 하위 타입. num 타입에는 +, -, / 및 *와 같은 기본 연산자가 포함되며 사용할 수 있는 다른 메소드로는 abs(), ceil() 및 floor() 등이 있다. (>>와 같은 비트 연산자는 int 클래스에 정의되어 있습니다.) num과 그 하위 타입에 원하는 메소드가 없으면 dart:math 라이브러리에 있을 수 있다.
정수는 소수점이 없는 숫자.
var x = 1;
var xHex = 0xDEADBEEF;
숫자에 소수가 포함되어 있으면 실수.
var y = 1.1;
var yExponents = 1.42e5;
변수를 num 타입으로 선언 가능. 이 경우 변수는 정수, 실수 둘 다 가질 수 있다.
num x = 1; // x는 int와 double 값을 모두 가질 수 있습니다.
x += 2.5;
정수 리터럴은 필요한 경우 자동으로 double로 변환된다.
double z = 1; // double z = 1.0와 똑같습니다.
문자열을 숫자로 바꾸는 방법.
// String -> int
var one = int.parse('1');
assert(one == 1);
// String -> double
var onePointOne = double.parse('1.1');
assert(onePointOne == 1.1);
숫자를 문자열로 바꾸는 방법.
// int -> String
String oneAsString = 1.toString();
assert(oneAsString == '1');
// double -> String
String piAsString = 3.14159.toStringAsFixed(2);
assert(piAsString == '3.14');
2. String
Dart에서 문자열은 UTF-16 코드 단위이다. '나 "를 사용해서 문자열을 만들 수 있다.
자바스크립트와 유사하다.
var s1 = '작은따옴표';
var s2 = "큰따옴표";
var s3 = '이건 \'를 쓰는 방법';
var s4 = "이건 '을 쓰는 방법";
변수를 문자열에 합치기 위해서는 ${변수}를 사용하면 된다.
자바스크립트와 유사하다.
var s = '안녕!';
assert('$s 넌 누구야' == '안녕! 넌 누구야');
문자열 연결은 +로 가능
자바스크립트와 유사하다.
// 인접한 문자열 리터럴로 연결
var s1 = 'String '
'concatenation'
" works even over line breaks.";
assert(s1 ==
'String concatenation works even over '
'line breaks.');
// + 연산자로 연결
var s2 = 'The + operator ' + 'works, as well.';
assert(s2 == 'The + operator works, as well.');
여러 줄을 문자열로 만들 때는 ''' 나 """ 사용
var s1 = '''
You can create
multi-line strings like this one.
''';
var s2 = """This is also a
multi-line string.""";
3. Booleans
Boolean 값을 나타내기 위해 Dart에는 bool이라는 타입이 있다. bool 타입은 true 및 false 값을 가지며, 둘 다 컴파일 타임 상수다.
4. Lists
Dart에서 List 리터럴은 대괄호([])로 묶인 쉼표로 구분된 표현식 또는 값으로 표시된다.
var list = [1, 2, 3];
String값 예시
var list = [
'Car',
'Boat',
'Plane',
];
여러 값을 컬렉션에 삽입하는 간결한 방법을 제공하는 스프레드 연산자(...)와 널 인식 스프레드 연산자(...?)를 사용.
var list = [1, 2, 3];
var list2 = [0, ...list];
5. Set
Dart의 Set은 고유한 항목의 순서가 없는 컬렉션. Set에 대한 Dart 지원은 Set 리터럴 및 Set 타입에 의해 제공된다.
var aaa = {'a', 'b', 'c', 'd', 'e'};
6. Maps
일반적으로 맵은 key와 value를 연결하는 개체. 키와 값 모두 모든 타입이 가능하다. 각 key는 고유하지만 value는 동일한 값을 여러 번 사용할 수 있다. 맵에 대한 Dart 지원은 맵 리터럴 및 맵 타입으로 제공된다.
var gifts = {
// Key: Value
'first': 'partridge',
'second': 'turtledoves',
'fifth': 'golden rings'
};
var nobleGases = {
2: 'helium',
10: 'neon',
18: 'argon',
};
var gifts = Map<String, String>();
gifts['first'] = 'partridge';
gifts['second'] = 'turtledoves';
gifts['fifth'] = 'golden rings';
var nobleGases = Map<int, String>();
nobleGases[2] = 'helium';
nobleGases[10] = 'neon';
nobleGases[18] = 'argon';
끝
- 참고
https://judongseok.gitbook.io/dartlang/language-guide/built-in-types
'개발 > Dart & Flutter' 카테고리의 다른 글
[Dart] Dart 언어 가이드 살펴보기 (24) | 2025.01.24 |
---|---|
[Flutter] 플러터 웹뷰 환경 파일 다운로드 구현하기 (130) | 2024.09.30 |
[Flutter] 플러터 웹뷰 사용하기 (2) (185) | 2024.07.09 |
[Flutter] 플러터 웹뷰 사용하기 (201) | 2024.07.03 |
[Flutter] 플러터 권한 얻기 (159) | 2024.07.01 |