[Dart] Dart 언어 배우기 1

ryan·2021년 6월 16일
3

Dart/Flutter

목록 보기
7/21
post-thumbnail

링크


1. Hello World

void main() {
  print('Hello World'); // Hello World
}
  1. Dart 코드를 실행하면 main 함수가 실행된다.
  2. main 함수가 실행되면, main 함수 안에 있는 코드들이 순서대로 실행된다.

2. 변수 선언법

void main() {
  var name = '개발자';
  
  print(name); // 개발자
}
  1. var: 변수를 선언할거야
  2. name: 변수 이름
  3. '개발자': 변수 값

3. Numbers

int(정수)

void main() {
  int number1 = 12;
  
  print(number1); // 12
  
  int number2 = 38;
  
  print(number2); // 38
  
  print(number1 + number2); // 50
  print(number1 - number2); // -26
  print(number1 * number2); // 456
  print(number1 / number2); // 0.3157894736842105
}

double(실수)

void main() {
  double number3 = 2.5;
  double number4 = 0.5;
  
  print(number3); // 2.5
  print(number4); // 0.5
  
  // 주의
  double number5 = 12; // 정수는 실수에 포함
  // int number6 = 2.5; // Error
  
  print(number3 + number4); // 3
  print(number3 - number4); // 2
  print(number3 * number4); // 1.25
  print(number3 / number4); // 5
}
  1. Dart에서 숫자는 int(정수), double(실수)로 나뉘어져있다.
  2. 숫자를 사용해서 연산을 할 수 있다.
  3. double에 정수를 선언할 수 있지만, 실수를 int에 선언할 수 없다.

4. Strings

void main() {
  String name = '개발자';
  
  print(name);
  
  String country = '멕시코';
  String sentence = '에 가고 싶습니다.';
  
  print(country + sentence);
  print('$country$sentence');
  
  int count = 5;
  String sentence2 = '멕시코에서 타코 한 개는 $count페소 입니다.';
  
  print(sentence2); // 멕시코에서 타코 한 개는 5페소 입니다.
}
  1. String은 대문자로 시작한다.
  2. 값을 (작은, 큰)따옴표 안에 작성한다.
  3. 덧셈만 사용이 가능하다.
  4. ''(문자열) 안에 작성하는 것은 글자로 인식을 하나, $를 옆에 사용하면 글자가 아닌 변수로 인식한다.

5. Boolean(참, 거짓)

void main() {
  bool isTrue = true; // 참
  bool isFalse = false; // 거짓
  
  print(isTrue); // true
  print(isFalse); // false
}  
  1. bool을 사용한다
  2. if, while문에서 굉장히 많이 사용한다. 이런 경우에는 이걸 실행해라, 저걸 실행해라, 중간에 어떻게 되면 그걸 실행해라 등등에 쓰인다.

6. Var, Dynamic 타입

var

void main() {
  var name = '개발자';
  print(name); // 개발자

  var number = 2;
  print(number); // 2

//   String number2 = 2; // Error
  
  name = '엔지니어';
  print(name); // 엔지니어
  
//   name = 1; // Error
}
  1. var 타입에는 자유롭게 타입을 지정하지않고 사용할 수 있다.
  2. var 타입은 변수의 값에 따라서 타입이 지정된다.
  3. 그래서 지정된 타입이 아닌 다른 타입으로 변수에 값을 넣으면 에러가 발생한다.

dynamic

void main() {
  dynamic name = '개발자';
  print(name); // 개발자

  name = '엔지니어';
  print(name); // 엔지니어
  
  name = 1;
  print(name); // 1
}
  1. 한 번 변수에 타입이 지정이 되어도, 그 다음에 변수의 타입을 계속 바꿀 수 있는 것이 dynamic 타입이다.
  2. Flutter에서 dynamic 타입은 많이 사용하지않는다.(자바스크립트의 var 같은 존재인가?)
  3. 개발자들이 기본적으로 dynamic처럼 굉장히 뭔가 큰 자유가 있고, 미지의 뭔가를 만드는 것을 싫어한다. String, bool 등 정확히 지정해주는 것이 좋다.

var 특이점

void main() {
  var name;
  name = '개발자'; // 개발자
  print(name);

  name = '엔지니어';
  print(name); // 엔지니어

  name = 1;
  print(name); // 1
}
  1. var 타입을 선언할 때, 값을 안 넣어주면, dynamic타입처럼 다른 타입의 값들로 바꿔줄 수 있다.
  2. 잘 쓰이지는 않음.
Q. 그냥 편하게 다 var로 선언하면 되지, 왜 String, bool 같은 걸 쓰는가?

A. 적은 양을 코드를 작성할 때는 큰 문제가 아니지만, 코드가 몇 천, 몇 만 줄이되면 var타입을 사용한 변수가 어떤 타입인 지, 눈에 보이지 않는다.

A. 다른 사람이 코드를 볼 때, 쉽게 이해하고 쉽게 다가갈 수 있도록 하는 것이 소프트웨어 엔지니어들의 협업의 의무이다.

A. var타입을 사용하지 않고, 직접적으로 명시해주는 것이 소프트웨어 엔지니어들의 매너라고 볼 수 있다.

void main() {
  // 이런 경우는 그래도 너무 복잡하고, 힘들어요...
  List<Map<String, List<int>>> ingredients;
}
profile
👨🏻‍💻☕️ 🎹🎵 🐰🎶 🛫📷

0개의 댓글