TIL) Flutter - Dart문법(main(), var, dynamic, final, const)

oatraspberry·2023년 9월 20일
post-thumbnail

🌼Dart

Dart 장점

  1. UI 제작하는 데 최적화되어 있다.
  2. 완전한 비동기 언어이고 이벤트 기반이다.
  3. isolate를 이용한 동시성 기능을 제공한다.
  4. Null Safety, Spread Operator, Collection If 등의 기능 제공한다.
  5. 핫 리로딩을 통해 코드의 변경 사항을 즉시 화면에 반영할 수 있다.
  6. 멀티 플랫폼에서 로깅, 디버깅, 실행할 수 있다.
  7. 자바스크립트 언어로 완전한 컴파일이 가능하다.

메인 함수

프로그램 시작점인 엔트리 함수 기호로 main()을 사용한다.

🌳주석 작성 방법 및 main 함수

void main() {
 // 주석 작성 방법 1. 한줄 주석
 
 /*
 * 주석 작성 방법 2. 여러줄 주석
 */

 /// 주석 작성 방법 3. 문서 주석
 /// DartDoc, 안드로이드 스튜디오 등의 IDE에서 문서로 인식함.
}
  • void: 아무값도 반환하지 않는다.
  • main 뒤에 괄호 안이 비어있으면 아무런 매개변수도 받지 않는다는 뜻

🌳콘솔 출력

void main() {
	print('지금은 비가 주룩주룩 내립니다.');
}
  • print() 함수: 문자열을 콘솔에 출력하는 함수

🌳var

void main() {
	var season = 'summer';
    print(season);
    
    // 변숫값 변경
    season = 'fall';
   	print(season);
}
  • 변수는 var 변수명 = 값; 형식으로 선언한다.
  • var 타입은 변수에 값이 들어가면 자동으로 타입을 추론하는 기능을 제공한다.
  • 타입을 한 번 추론하면 추론된 타입이 고정된다.
  • 다른 변수 타입의 값을 같은 변수에 저장하면 에러가 나기 때문에 주의해야 한다.
  • 변수명 중복은 불가능하다.

🌳dynamic

void main() {
	dynamic season = 'summer';
    season = 1;
    
    print(season);
}

  • dynamic 키워드를 사용하면 변수의 타입이 고정되지 않기 때문에 다른 타입의 값을 저장할 수 있다.

🌳final/const

void main() {
	final DateTime now = DateTime.now();
    
    print(now);
}

final, const

변숫값 선언 후 변경하지 못하게 하여 예측 가능하고 간단한 코드 작성할 수 있게 해준다.

  • final
    1. 값 변경은 안 되어도 추가는 가능하다.
    1. runtime 상수 - 앱 실행 시 생성자에 의해 초기화된다.
    2. 변수 선언 시 초기화 된다.
  • const
    1. 값 변경 및 추가 불가능하다.
    1. 변수 선언과 동시에 초기화가 되어야 한다.
    2. buildTime 상수 - 코드를 작성하는 순간에 값이 정해져 있어야 한다.
      4. 현재 시간을 계산해서 불러와 변수에 넣는 경우, 호출마다 값이 바뀌기 때문에 const 변수에는 현재 시간을 할당할 수 없다.
  • DateTime.now() 함수: 함수가 실행되는 순간의 날짜 및 시간을 제공해준다. = 실행을 해봐야 값을 알 수 있다.
profile
개발자가 될테야

0개의 댓글