프로그래밍/Flutter & Dart

[Flutter] for와 forEach

*%$@$#@ 2023. 1. 5. 12:36
728x90
반응형

Flutter에서 가장 대표적으로 사용하는 반복문은 for와 forEach입니다. 각각 외부반복, 내부반복으로 구분합니다.
문법에 대해서 간단히 정리해 보면 다음과 같습니다.

1에서 6까지 숫자가 차례대로 저장되어 있는 리스트의 각 원소를 출력하는 코드를 작성해 보도록 하겠습니다.
구현된 코드는 다음과 같습니다.


void main() {
  final lists = [1, 2, 3, 4, 5, 6];
  
  for (int i = 0; i < lists.length; i++) {
    print('for loop: ${lists[i]}');
  }
  
  lists.forEach((e){
    print('forEach loop: $e');
  });
}

가장 먼저 1에서 6까지 원소로 이루어진 lists 리스트를 정의합니다.
for문에서는 변수 i를 정의한 뒤 i의 값을 하나씩 증가시키면서 lists의 i번째 항목을 조회하는 방식으로 진행합니다.
때문에 for문은 외부 반복이라고 지칭합니다.

이와는 달리 forEach문의 경우 lists의 내부 메서드로써 forEach를 호출하고 이때 e라는 값을 리턴 받습니다. e는 lists의 각 요소(elements)들을 순차적으로 접근하여 얻은 값입니다. 그리고 forEach의 내부 함수로써 각 원소를 print 합니다. 그래서 forEach는 내부함수라 지칭합니다.

함수를 출력하면 다음의 결과가 출력됩니다.


for loop: 1
for loop: 2
for loop: 3
for loop: 4
for loop: 5
for loop: 6
forEach loop: 1
forEach loop: 2
forEach loop: 3
forEach loop: 4
forEach loop: 5
forEach loop: 6

출력되는 결과는 동일하나 둘 사이에 미묘한 차이가 있으니 이를 잘 기억하시기 바랍니다.


728x90
반응형