[Dart] 흐름제어

·2021년 4월 7일
0

Dart

목록 보기
4/4

assert

assert는 개발 모드의 debug중일 때 작동합니다.
배포(production) 코드에서는 프로그램에 영향을 주지 않습니다.
조건이 거짓인 경우 에러를 발생하며 실행이 중단된다.

assert(condition, optionalMessage);
assert(urlString.startsWith('https'),
    'URL ($urlString) should start with "https".');

condition :boolean이 나올 수 있는 조건을 넣는다.
optionalMessage : conditionfalse 발생 시 나올 메세지를 따로 설정할 수 있습니다.

if

가장 대표적인 흐름제어 문 입니다.
조건이 참일경우와 참이 아닌경우의 두가지 상황을 판단하여 실행하게 됩니다.

int age = 15;

//단일 조건문
if(age >= 19){
	print("성인입니다.");
}else{
	print("성인이 아닙니다.");
}

//다중 조건문
if(age >= 19){
	print("성인입니다.");
}else if(age < 14){
	print("촉법 소년입니다.");
}else{
	print("성인이 아닙니다.");
}

switch/case

if문과 비슷하지만 입력변수가 case조건해당하면 case문을 실행합니다.
해당하지 않는 경우는 전부 default에서 처리됩니다.

String name = 'kim';

switch(name) {
	case 'kim':
    	print('kim입니다.');
        break;

	case 'i':
    	print('i입니다.');
        break;

	default:
    	print('해당하지 않습니다.');
        break;
}

while

while문은 반복 동작이 필요할 때 사용합니다.
조건식이 true시 실행문을 반복 동작을합니다.
무조건 조건식을 끝낼 수 있는 동작을 실행문에 생략시 무한 루프가 생기므로 주의하셔야 합니다.

int count = 0;

while(count < 10) {
	print(count);
    count++;
}

for

while문처럼 반복문에 해당합니다.

for(초기화식; 조건식; 증감식) {
	실행문
}

while과는 다르게 초기화 조건 증감식을 모두 포함하여 작성 합니다.

List<int> list = [2, 1, 3, 5, 7];

for(int i=0; i< list.length; i++) {
	print(list[i]);
}

위의 출력의 경우 리스트에 있는 2 ~ 7까지를 출력합니다.
하지만 다른 방법으로도 for를 사용할 수 있습니다.

바로 foreach라는 사용 방법도 존재합니다.
배열을 처음부터 끝까지 반복하면서 내부 인자를 꺼내서 확인합니다.

List<int> list = [2, 1, 3, 5, 7];

// 익명 함수
list.forEach((value){
  print(value);
});

// 람다식
list.forEach((value) => print(value));
profile
괴발개발 공부인생

0개의 댓글