Flutter 창업반 2주차 TIL1 - Dart 기본문법
10/28 월 - 기본문법
새로 배운 개념
클라이언트
플랫폼
컴파일러 - AOT, JIT
현대적인 프로그래밍 - 객체지향, 함수형, 비동기
디버깅
SDK
Cd : Change directory
Ls : 위치에서 어떤 폴더가 있는지 확인
Command + 터미널창 글씨 키우는 단축키
Void main - 다트파일 안에서 실행하는 코드
- 변수 - 데이터를 저장하는 공간 - 값 변경여부에 따라 2가지
Var 타입추론 기능
Nullable vs NonNullable - null 빈값
Late - 선언 후에 초기화되는 NonNullable 한 변수 (Null대신 비슷한 기능)
- 데이터타입
숫자, 문자 등 데이터의 형태를 컴퓨터에게 알려줘야함
- 숫자형 -> int : 정수형, double : 소숫점, num : int와 double의 상위버전(더 융통성 있음) ex. Int 선언하다
(int, double 타입. 클래스처럼 쓰이지만 클래스가 아니다)
- 문자형 -> String 선언 두가지 형태 ‘’ “” 의미의 차이는 없음
‘’’, “”” - 문장을 여러줄로 표현 가능함
(String, List 는 대문자. 클래스)
Cf. int -> Int String->string 다트에 넣어보기. 에러코드가 뜨거나 동작이 다를것
변수를 박스라고 하겠습니다. int, long 같은 변수는 박스안에 바로 필요한 물건들을 넣어놓고, 필요할때마다 찾아서 쓰는 방식이라고 할 수 있습니다. 이런 변수를 원시타입 (Primitive Type) 이라고 합니다.
반면 String은 박스안에 물건을 넣는것이 아니라, 내가 찾아가야할 주소만 담겨 있습니다. 그래서 박스를 까서 주소를 확인하고 그 주소까지 찾아가면 비로소 내가 필요한 물건을 찾을 수 있습니다. 이런 변수는 참조형 이라고 합니다.
- 불리언형 - bool -> 0또는1 True or False로만 표현 가능
var number = "0,1,2,3"; -> 문자형 String
var numbers = "0,1,2,3"; ->문자형
var numbers = "3"; ->문자형
var numbers = 3; -> 숫자형 Int
var numbers = ""; -> 문자형
- Null
표현방법 : Type뒤에 ?를 붙이면 Nullable한 변수가 됨
표현식에 ?. 를 쓰면 오류로 뜨는 대신에 Null을 뱉음
- 연산자 Operator
계산, 논리 비교, 데이터 조합 등 하는 기호, 키워드
- 산술 연산자 (Arithmetic Operators) : +,-,*,/,~/(정수만),%(나머지)
- 비교 연산자 (Comparison Operators) : ==(같으면 True), !=(다르면 True), >, <, >=, <=
- 타입 체크 연산자 (Type Test Operators) : as(타입 변환, 호환될때만), is(특정 타입인지 판별 true false), is!(특정타입 가지고 있지 않은지 판별)
- 대입 연산자 (Assignment Operators) : =(컴퓨터는 오른쪽 읽어서 왼쪽에 대입), ??=(null일때만 대입), +=(a += b 와 a = a + b 같음), -=, *=, /=, ~/=, %=
- 논리 연산자 (Logical Operators) : !(반전), ||(하나라도 참이면 참으로 반환 or개념), &&(모두 참이어야 참으로 반환 and개념)
- 조건문
If
If 선행 +else if
else : if, else if 에서 걸러진 나머지
switch : 경우의 수 모두 생각할때
? + 앞:뒤 : 참이면 앞 거짓이면 뒤
?? + 앞:뒤 : null이면 앞, null아니면 뒤
- 반복문 - 여러번 반복해서 실행
- for : 반복횟수 정해져 있을때
for (초기화식, 조건식, 증감식) { 조건실행 }
for (var i = 0; i < 5; i++) { message += '!'; }
- while : 조건에 맞는동안 실행식 시행
while (조건식) { 실행식 }
- do … while : while 조건에 맞지 않아도 최초1회는 실행
do { … } while (조건식);
- for-in : for 안에 collection타입 궂이 두지 않고 in으로 빼는 방법
(final, const 상수로 선언할 수 있음)
- break : 반복문 중간에 실행 멈춤
- continue : 특정 조건인 경우 출력되지 않고 반복문을 건너뛴다
- 주석
// : 한줄 주석
/* */ : 여러줄 주석
///, /** : 문서 주석 (주석 안에 [ ]를 넣으면 코드 연동해서 인식함)