티스토리 뷰

다트 공식 문서 번역

다트] 반복

철철박사 2024. 7. 28. 14:26
반응형

이 문서에서는 반복문과 지원 구문을 사용하여 코드의 반복 흐름을 제어하는 방법을 보여준다.

 

다음을 사용하여 코드의 반복 흐름을 제어할 수 있다.

  • for, for-in
  • while, do-while
  • break
  • continue

또한 다음 제어문을 사용하여 반복 흐름을 제어할 수도 있다.

  • if
  • switch
  • try, catch, throw

 

 

 

for

for 반복문을 사용하여 반복할 수 있다.

var message = StringBuffer('Dart is fun');

for (var i = 0; i < 5; i++) {
  message.write('!')
}

 

for 반복문에 내부 클로저가 있다면 for 반복문의 인덱스 값을 캡처할 수 있다.

var callbacks = [];

for (var i = 0; i < 2; i++) {
  callbacks.add(() => print(i));
}

for (final c in callbacks) {
  c();
}

 

위의 코드는 0과 1을 출력한다. 클로저가 캡처를 지원하지 않으면 2와 2를 출력했을 것이다.

 

 

 

for-in

객체가 List나 Set 같은 반복 가능한 타입이면 for-in을 사용하여 쉽게 요소를 가져올 수 있다.

const items = [0, 1, 2, 3];
for (var item in items) {
  print(items);
}

 

반보고 가능한 타입은 forEach() 메서드도 가지므로 다음처럼 사용할 수도 있다.

items.forEach(print);

위의 두 예제는 0, 1, 2, 3, 4를 각각 한 줄에 출력한다.

 

 

 

while과 do-while

while은 시작 전 조건을 평가해서 조건이 참일 경우 루프를 반복한다.

while (!isDone()) {
  doSomething();
}

 

do-while은 루프 후 조건을 평가한다.

do {
  doSomething();
} while (!isDone());

 

 

 

break

break를 사용하면 루프를 중단한다.

while (true) {
  if (shutDownRequest()) break;
  processIncomingRequest();
}

 

 

 

continue

continue는 실행을 멈추고 다음 루프로 이동한다.

for (int i = 0; i < candidates.length; i++) {
  var candidate = candidates[i];
  if (candidate.yearsExperience < 5) {
    continue;
  }
  cadidate.interview();
}

 

List와 Set과 같은 반복 가능한 타입은 위의 예제를 다음같이 더 간결하게 작성할 수 있다.

candidates
  .where((c) => c.yearsExperience >= 5)
  .forEach((c) => c.interview());
반응형

'다트 공식 문서 번역' 카테고리의 다른 글

다트] 에러 처리하기  (0) 2024.07.29
다트] 분기  (0) 2024.07.28
다트] 패턴 종류  (0) 2024.07.27
다트] 패턴  (0) 2024.07.27
다트] 다트 타입 시스템  (0) 2024.07.25
댓글
공지사항