개발

[코드팩토리의 플러터 프로그래밍] 1장. 다트 입문하기

ttoance 2024. 5. 6. 22:32

DartPad

 

DartPad

 

dartpad.dev

 

1. 변수 선언 

- var / dynamic 

- final / const 

void main() {
  final DateTime now = DateTime.now(); // 런타임 상수 
  const DateTime now = DateTime.now(); // 빌드 에러. 빌드 타임 상수 
}

 


2. 컬렉션

- List

ㄴ add함수 

ㄴ where함수 

ㄴ reduce함수 

ㄴ fold함수 

- Map

- Set

void main() {
  List<String> blackPinkList = ['리사', '지수', '제니', '로제'];
  
  Map<String, String> dictionary = {
    'Harry Potter': '해리 포터',
    'Ron Weasley': '론 위즐리',
    'Hermione Granger': '헤르미온느 그레인저'
  };
  
  Set<String> blackPink = {'로제', '지수', '리사', '제니', '제니'};
  print(blackPink); // {로제, 지수, 리사, 제니}
}

3. 연산자 중 null관련 연산자 

void main() {
  double? number1 = 1;
  
  double? number;
  number ??= 3; // ?? 를 사용하면 null일때만 지정
  print(number); // 3
  
  number ??= 4; // null이 아니므로 3이 유지 
  print(number); // 3
}

 


4. 제어문 

- if문

void main() {
  // if문 
  int number = 2;
  if (number % 3 == 0) {
    print('3의 배수입니다.');
  } else if (number % 3 == 1) {
    print('나머지가 1입니다.');
  } else {
    print('맞는 조건이 없습니다.');
  }
}

- switch문

void main() {  
  // switch문 
  Status status = Status.approved;
  
  switch (status) {
    case Status.approved:
      print('승인 상태입니다.');
      break;
    case Status.rejected:
      print('거벌 상태입니다.');
      break;
    default:
      print('그 외 상태입니다.');
  }
}

- for문

void main() {  
  // for문
  for (int i = 0; i < 3; i ++) {
    print(i);
  }
  
  List<int> numberList = [3, 6, 9];
  for (int number in numberList) {
    print(number);
  }  
}

- while문 

- do...while문

void main() {  
  // while문 
  int total = 0;
  while (total < 10) {
    total += 1;
  }
  print(total);
  
  // do..while문
  int start = 0;
  do {
    start += 1;
  } while(start < 10);
  print(start);
}

 


5. 함수 

int addTwoNumbers(int a, [int b = 2]) {
  return a + b;
}

int addThreeNumbers(int a, {required int b, int c = 4}) {
  return a + b+ c;
}

void main() {
  print(addTwoNumbers(1)); // 3
  print(addThreeNumbers(1, b: 3, c: 7)); // 11
  print(addThreeNumbers(1, b: 3)); // 8 
}

 

 

 

6. 그 외 

- JIT, AOT 

- 핫리로드 

- spread operator 

- first class citizen 

 


느낀점

- 설치하는데 한 3시간 걸렸다... 설치하다가..유트브 보고,,, 설치하다가 .. 저녁 먹고 .. 설치하다가 ... 웨이브 먹고 

- xcode, android studio 모두 무겁네.. 

 

반응형