일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Spring
- 일본어
- rails7
- rails
- CSS
- Python
- 반다이몰
- springboot
- Flutter
- 一日一つメソッド
- 인프런
- 디지몬
- C로 시작하는 컴퓨터 프로그래밍4판
- 건담
- 単語
- javascript
- 건담베이스
- 자바
- vscode
- 日本語
- 비즈니스일본어
- nico
- メソッド
- jsp
- Web
- java
- DART
- html
- ruby
- 연습문제
- Today
- Total
AR삽질러
Dart DataTypes - (3) 본문
Dart DataTypes
1. 숫자(Integer)
- 정수형 데이터를 표현
void main() {
int age = 30;
}
2. 실수(Double)
- 실수형 데이터 소숫점 숫자를 표현
void main() {
double pi = 3.141592;
}
3. 문자열(String)
void main() {
String name = 'AR';
String name = "AR";
}
- 텍스트 테이터 String타입의 값을 선언할때 ' ' 작은따옴표, " "큰따옴표 두개다 사용가능하다.
4. 참거짓(Boolean)
- 논리값 참 또는 거짓을 나타낸다.
void main() {
bool alive = true;
}
5. 리스트(List)
5-1) 여러 개의 값을 순차적으로 저장하는 자료구조
void main() {
var numbers = [1, 2, 3, 4, 5];
List<int> numbers = [1, 2, 3, 4, 5];
numbers.add(6);
}
5-2) List역시 Integer로 되어있다. 또 List의 선언은 "var"를 사용해되되고 "List<int>"를 사용해서 선언할 수도 있다.
List로 선언된 numbers에 다른 데이터를 추가하고 싶다면 자료형이 같은 데이터일 경우에만 add가 가능하다.
void main() {
var numbers = [1, 2, 3, 4, 5,];
numbers.first;
numbers.last;
}
"변수명.first" : List의 첫번째 요소를 가져온다.
"변수명.last" : List의 마지막 요소를 가져온다.
5-3) Dart에서 List를 선언할때는 마지막에 "," 를 추가하여 줄 포매팅을 만든다.
void main() {
var numbers = [
1,
2,
3,
4,
5,
];
numbers.first;
numbers.last;
}
5-4) collection if
- if로 존재할 수도 있고 아닌수도 있는 요소를 가지고 만든다.
- Collectio if : 리스트나 다른 컬렉션을 생성할때 조건에 따라 요소를 추가하는 방법으로 조건이 참일경우 요소를 추가하고 거짓일 경우 요소를 추가하하지 않게 된다.
void main() {
var giveMeFive = true;
var numbers = [1, 2, 3, 4, if (giveMeFive) 5];
print(numbers);
}
변수 gibeMeFive가 true라면 5를 추가할 수 있다.
5-5) collection for
-
- Collection for : 리스트나 다른 컬렉션을 생성할 때 반복문을 사용하여 요소를 추가하는 방법으로 기존의 리스트나 컬렉션에 요소를 가져와 변환하여 새로운 컬렉션을 생성할 때 유용하다.
void main() {
var numbers = [
1,
2,
3,
4,
5,
];
var doubleNumbers = [for (var num in numbers) num * 2];
print(doubleNumbers);
}
- numbers리스트의 각 요소를 가져와 두배로 변환하여 doubleNumbers리스트를 생성할 수 있다.
또 아래의 코드와 같이 리스트의 각요소를 변환하여 추가할 수 있다.
void main() {
var oldFriends = ['아랑', '동규'];
var newFriends = [
'창식',
'승현',
'민희',
for (var friend in oldFriends) "❤️ $friend",
];
print(newFriends);
}
- for반복문으로 oldFriends의 리스트안의 각 요소를 가져와 "❤️ $friend" 형식으로 변환한 후 newFriends리스트에 추가한다. 이런식으로 Collection을 사용하여 기존 데이터와 새로운 데이터를 구분하는 방법으로 사용하는 것도 가능하다.
5-6) String Interpolation
- String Interpolation은 test에 변수를 추가하는 방법이다.
- 문자열 안에 변수나 표현식의 값을 삽입하는 방법으로 문자열을 동적으로 생성할 수 있다.
- 문자열 내 변수의 값을 삽입하려면 변수 이름 앞에 '$'기호를 붙이면된다. 이때 변수의 값이 문자열 내에 삽입되고 변수가 복잡한 표현식을 가지고 있다면 '${표현식}" 형식을 사용하여 삽입할 수 있다.
void main() {
var oldFriends = ['아랑', '동규'];
var newFriends = [
'창식',
'승현',
'민희',
for (var friend in oldFriends) "❤️ $friend",
];
print(newFriends);
var name = "AR";
var greeting =
"Hello everyone, my name is $newFriends, and add $name, nice to meet you!";
print(greeting);
}
계산을 실행할때
void main() {
var oldFriends = ['아랑', '동규'];
var newFriends = [
'창식',
'승현',
'민희',
for (var friend in oldFriends) "❤️ $friend",
];
print(newFriends);
var name = "AR";
var age = 10;
var greeting =
"Hello everyone, my name is $newFriends, and add $name and I'm ${age + 2}!";
print(greeting);
}
6. 맵(Map)
- Key : Value 쌍으로 데이터를 저장하는 자료구조
- Map은 JavaScript의 TypeScript의 object, python의 dictionary와 같은 기능이다.
void main(){
var player = {
'name' : 'AR',
'HP' : 100.0,
'MP' : 88.0,
'Item' : false,
};
}
void main(){
Map<String, Object> player = {
'name' : 'AR',
'HP' : 100.0,
'MP' : 88.0,
'Item' : false,
};
}
var를 사용할때는 컴파일러가 자동으로 자료형을 명시하기 때문에 자료형을 명시해줄 필요가 없다.
예문에서 key : value자료구조를 Map으로 만들었는데 Dart에서 자동을 key : String, value : Object로 인식한다.
Object는 어떤 자료형도 가능하다.(any)
7. 셋(Set)
- 중복되지 않은 값을 저장하는 자료구조
void main() {
var numbers = {1, 2, 3, 4};
numbers.add(1);
numbers.add(5);
print(numbers);
}
List와 같지만 유니크해 같은 숫자가 중복된다면 추가되지 않는다.
List는 중복되는 숫자가 있어도 요소에 추가될 수 있다.
void main() {
var numbers = {1, 2, 3, 4};
numbers.add(1);
numbers.add(5);
print(numbers);
var numbersList = [1, 2, 3, 4];
numbersList.add(1);
numbersList.add(1);
numbersList.add(1);
print(numbersList);
}
8. 동적타입(Dynamic)
- 실행 시간에 데이터 타입을 결정하는 타입
- Dynamic(동적타입)은 다른 Dart의 타입과는 다르게 변수의 타입을 명시적으로 선언하지 않아도 되며 변수에 할당되는 값에 따라 그 타입이 동적으로 결정된다.
void main() {
dynamic myAge = 20;
print(myAge);
myAge = "AR";
print(myAge);
}
9. 객체(Object)
- 모든 객체의 최상위 클래스로 다양한 데이터 타입을 포함할 수 있다.
위 모든 타입은 object로 이루어져 있다. String, bool, int 등 모두 num클래스로 부터 파생된 것이다.
num자료형을 사용하면 같은 클래스의 부모타입이 때문 그 숫자는 Integer이 될 수도 있고 Double이 될수도 있다.
'Dart' 카테고리의 다른 글
Dart Typedef - (5) (0) | 2023.09.02 |
---|---|
Dart Functions - (4) (0) | 2023.09.02 |
Dart Variables- (2) (0) | 2023.08.26 |
Dart - 설치 및 환경설정(1) (0) | 2023.08.22 |
Dart 입문(0) (0) | 2023.08.21 |