JiSoo's Devlog

[Dart 시작하기] Section 2 본문

App/Dart

[Dart 시작하기] Section 2

지숭숭숭 2024. 1. 16. 18:08

dart의 거의 전부가 object로 이루어져 있다 -> 진정한 객체 지향 언어로 불리는 이유

num 자료형을 사용하면 그 숫자는 integer일 수도 있고 double일 수도 있다

모든 게 object, class로 이루어져 있기 때문에 실제로 자료형 안에 어떤 게 들어있는지 볼 수 있다

void main(){
  String name = "jisoo";
  bool alive = true;
  int age = 12;
  double money = 24.22;
  num x = 12;
  x = 1.1;
}

dart에서 num은 정수와 부동 소수점 숫자를 모두 나타내는 데이터 타입

 

List를 선언하는 두 가지 방법

void main(){
  var numbers = [1, 2, 3, 4];
  List<int> num = [2, 3, 4, 5];
  numbers.first; //리스트의 첫 번째 요소
  numbers.last;	//리스트의 마지막 요소
}

 

dart는 조건문 및 반복을 사용해 컬렉션을 구축하는 데 사용 가능한 collection if와 collection for을 지원한다

collection if는 List를 만들 수 있는데 if로 존재할 수도 안 할 수도 있는 요소를 가지고 만들 수 있다

void main(){
  var giveMeFive = true;
  var numbers = [
  1,
  2,
  3,
  4,
  if (giveMeFive) 5,
  ];
}
void main(){
  var giveMeFive = true;
  var numbers = [
  1,
  2,
  3,
  4,
  if (giveMeFive) {
  	  numbers.add(5);
  	}
  ];
}

 

String interpolationtext에 변수를 추가하는 방법

void main(){
  var name = 'jisoo';
  var greeting = 'Hello everyone, my name is $name, nice to meet you!';
}
void main(){
  var name = 'jisoo';
  var age = 10;
  var greeting = 'Hello everyone, my name is
  $name and I\'m ${age+2}';
  print(greeting);
}

단순 변수 값을 담고 싶다면 $달러기호 적고 뒤에 변수 이름만 적어주면 된다

무언가를 계산하고 싶다면 $달러 기호랑 중괄호 적고 계산할 내용을 그 사이에 적어주면 된다

 

void main(){
  var oldFriends = ['jisoo', 'nico'];
  var newFriends =[
    'lewis',
    'ralph',
    'darren',
    for(var friend in oldFriends) "❤️ $friend",
  ];
  print(newFriends);
}

이렇게 collection for 사용 가능

리스트를 생성하면서 for루프 실행하는 구문

 

maps는 JavaScript나 TyperScript의 object, pyhon의 dictionary 같은 것

var player = {
    1: true,
    2: false,
    3: true
};
Map<int, bool> player = {
    1: true,
    2: false,
    3: true
};

dart에서는 모든 게 object로부터 생겨서 object는 기본적으로 어떤 자료형이든 될 수 있다

Map 대신 var를 사용해도 되는 대신 컴파일러가 key와 value의 자료형을 유추해 줄 것이다

void main() {
  Map<List<int>, bool> player = {
    [1, 2, 3, 5]: true,
    }
  }

원하는 어떤 key든 value든 명시해줄 수 있다

Map은 method와 property를 가지고 있다

void main() {
  List<Map<String, Object>> players = [
    {'name': 'jisoo', 'xp': 199993.999},
    {'name': 'jisoo', 'xp': 199993.999},
  ];
}

 

Dart의 class는 굉장히 강력하고 멋진 문법과 쉬운 방법을 가지고 있다

 

key와 value를 가지는 구조로 object를 만들 때 그것들이 특정 형태를 가질 때 players, movies 혹은 photos 같이 API로 얻은 데이터는 class를 추천한다

 

var numbers = {1, 2, 3, 4};

Set<int> numbers = {1, 2, 3, 4};

set과 list의 차이는 set에 속한 모든 요소들은 유니크하다는 점

set은 sequence(순서O)

 

var numbers = {1, 2, 3, 4};
numbers.add(1);
numbers.add(1);
numbers.add(1);
print(numbers);

이렇게 해도 {1, 2, 3, 4}만 나온다

요소가 항상 하나씩만 있어야 되면 set을 사용하면 된다

 

728x90

'App > Dart' 카테고리의 다른 글

[Dart 시작하기] Section 4  (1) 2024.01.28
[Dart 시작하기] Section 3  (0) 2024.01.24
[Dart 시작하기] Section 1  (0) 2024.01.16