반응형

지난 글에 이어서 다트의 기초 문법을 알아보겠습니다.

조건문, 반복문 예외처리에 대해 정리해보도록 하겠습니다.


조건문

if문

if(조건식) {
}

지정한 조건식이 참일 때 처리합니다.

void main() {
  int number = 10;
  if (number >= 5) {
    print('5이상');
  }
}

 

if else 문

if(조건식){
  조건식이 참일때 처리
}
else{
  조건식이 거짓일때 처리
}

조건식이 참, 거짓일 경우에 대해 각각 처리합니다.

void main() {
  int number = 4;
  if (number >= 5) {
    print('5이상');
  }
  else {
    print('5 미만');
  }
}

 

switch문

switch(식){
  case 값1:
    처리1
    break;
  case 값2:
    처리2
    break;
  default:
    디폴트처리
    break;  
}

switch문은 식의 값이 3개 이상으로 분기될 때 사용합니다.

void main() {
  String animal= '사자';
  switch (animal) {
    case '사자':
      print('사자');
      break;
    case '고양이':
      print('고양이');
      break;
    case '호랑이':
      print('호랑이');
      break;
    default:
      print('사자, 고양이, 호랑이 이외의 동물');
      break;
  }
}

 

삼항 연산자

(조건식) ? 참일경우처리 : 거짓일경우처리;

삼항 연산자를 사용하면 if else문을 하나의 처리로 정의할 수 있습니다.

void main() {
  int num = 8;
  (num >= 5) ? print('5이상') : print('5이하');
}

 


루프 처리

while 문

while(조건식){
  처리
}

조건식이 true일 때 반복적으로 처리를 진행하고, 조건식이 flase가 되면 반복 처리를 종료합니다.

void main() {
  int num = 0;
  while (num < 3) {
    print(num);
    num++;
  }
}

 

do while 문

do {
  처리
} while (조건식)

do while문은 먼저 처리를 실행한 후 조건식으로 루프 처리를 계속할지 확인합니다.

void main() {
  int num = 0;
  do {
    print(num);
    num++;
  } while (num < 3);
  print('루프종료');
}

 

for 문

for( 초기화식; 조건식; 변화식){
  조건식이 true 동안 처리
}

for 문은 초기화 표현식, 조건식, 변화식을 지정해야 합니다. 조건식이 true일 동안 반복 처리를 하고, 변화식에 의해 조건식이 false가 되면 루프 처리가 종료됩니다.

void main() {
  for (var i = 0; i < 3; i++) {
    print(i);
  }
  print('루프종료');
}
//0
//1
//2
//루프종료

 

for…in 문

for (var 변수 in 배열){
  처리
}

for…in 문을 사용하면 List나 Set에 저장된 모든 데이터를 순서대로 변수에 할당하여 처리할 수 있습니다. 배열의 마지막 데이터를 취득해 처리가 종료되면 루프 처리가 종료됩니다.

void main() {
  var mixFruit = ['apple', 'banana', 'grape'];
  for (var fruit in mixFruit) {
    print(fruit);
  }
  print('루프종료');
}
//apple
//banana
//grape
//루프종료

 

forEach문

forEach문은 for…in과 마찬가지로 List, Set에 저장된 값을 인덱스 순서대로 가져옵니다. Map의 경우는 ket도 취득할 수 있습니다.

 

List, Set의 forEach

리스트.forEach((변수){
    처리
  }
)

var mixFruit = ['apple', 'banana', 'grape'];
mixFruit.forEach((fruit){
    print(fruit);
  }
);
//apple
//banana
//grape

 

Map의 forEach

Map객체.forEach((키,값){
    처리
  }
)

Map의 경우 콜백 함수의 인수에 key와 value로 두 개의 값을 가져올 수 있습니다.

void main() {
  var ages = {
    'Alex': 18,
    'Ben': 15,
    'Charlie': 25,
  };
  ages.forEach((name, age) {
    print("${name} is ${age} years old");
  });
}
//Alex is 18 years old
//Ben is 15 years old
//Charlie is 25 years old

예외처리

try{
  처리
}
catch(e){
  예외일경우 처리
} finally {
  마지막에 처리
}

Dart의 예외처리는 try-catch입니다. try로 실행한 처리에 에러가 발생했을 때 catch로 지정한 처리가 실행됩니다. finally로 지정한 처리는 예외가 발생하지 않아도 반드시 실행됩니다.

 

try on catch

try{
  처리
}
on Exception catch(e){
  특정 예외에 대해 처리
}

on을 사용하면 특정 예외에 대해서만 예외 처리를 수행할 수 있습니다.

 

try on catch로 FireBaseAuthException 예외처리 하기

onPressed: () async {
  try {
    await _auth.createUserWithEmailAndPassword(email: email, password: password);
  }
  on FirebaseAuthException catch (e) {
    print(e);
  }
}

 

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