반응형

플러터는 Dart(다트)라는 언어로 작성합니다. 처음 플러터를 시작하려고 할 때 다트라는 언어를 또 배워야 한다는 것이 걸림돌이 된다고 생각합니다. 하지만 다른 언어를 한 번이라도 해본 경험이 있다면 무리 없이 따라갈 수 있는 언어입니다.

 

다트 문법을 빠르게 포인트만 정리해보도록 하겠습니다.


main 함수

main함수는 앱이 시작되는 곳, 즉 처음에 호출되는 함수입니다. main 함수에 작성한 코드가 순서대로 실행됩니다.

void main() {
  print("Hello World");
}

print 함수

콘솔에 출력을 할 수 있습니다. 자바스크립트 console.log와 같은 기능입니다.

void main(){
  String hi = '안녕하세요';
  print(hi);
}

변수 종류

다트에는 변수형은 int, double, String, bool, List, Set, Map 이 존재합니다.

 

int 형

int value =10;

 

double 형

double value = 2.29;

 

String 형

String value = '안녕하세요';

 

boolean 형

bool value1 = true;
bool value2 = false;

 

List 형

List<String> = ['a', 'b', 'c'];

 

Set형

Set<String> = {'a', 'b', 'c'};

 

Map형

Map<String, int> = {'a': 1, 'b': 2, 'c': 3}

상수 (final, const )

final은 컴파일후에 처리가 실행되고, const는 컴파일 시에 처리가 실행됩니다. 따라서 final에서는 상수 값에 변수를 할당할 수 있지만 const에서는 변수를 할당하면 에러가 발생합니다.

*플러터에서 child 위젯에 statelessWidget을 사용할때는 const로 선언해 줍니다. const로 선언한 위젯은 bulid 메소드로 다시 빌드할 필요가 없어지게 되므로 성능 향상으로 이어지게 됩니다.

 

final 한정자

final 로 선언할 때는 타입을 생략할 수 있습니다.

final String test1 = '문자열';
final test2 = '문자열';

 

const 한정자

final과 마찬가지로 const 선언할 때는 타입을 생략할 수 있습니다.

const String test1 = '문자열';
const test2 = '문자열';

함수

void형 함수, 인수 없을때

void hi() {
  print('안녕하세요');
}

 

리턴 유형이 존재하는 함수

String getHello() {
  return "안녕하세요";
}

 

명명된 파라미터를 이용하는 함수

void main() {
  printHello(name: "Flutter");
  printHello2();
}

void printHello({String? name}) {
  print("Hello! $name");
}

void printHello2({String? name = "Dart"}) {
  print("Hello! $name");
}

 

화살표 함수

void main() {
  int added = add(num1: 1, num2: 2);
  total(total: added);
}

int add({int num1 = 0, int num2 = 0}) => num1 + num2;
void total({int total = 0}) => print("합계는:$total");

 

콜백 함수

(){
  print('');
}

() => print('');

연산자

  • 산술 연산자: +, -, *, /, ~/, %, ++, --
  • 대입 연산자: +=, -=, *=, /=, ~/=, %=
  • 비교 연산자: >, >=, ==, <, <=, !=
  • 논리 연산자:&&, ||, !
  • 유형 테스트 연산자: is, is!
  • 삼항 연산자:  판별식 ? A문 : B문

 

여기까지 읽어주셔서 감사합니다.

다음 글에서 이어서 문법 정리를 해나가도록 하겠습니다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기