WinGyu_coder

Flutter 플러터 화살표 함수 () =>, 블록 바디 함수 () {} 차이점 본문

Flutter 플러터, Dart 다트

Flutter 플러터 화살표 함수 () =>, 블록 바디 함수 () {} 차이점

WinGyu 2023. 11. 11. 15:34

Flutter에서 화살표 함수와 블록 바디 함수 이해하기

소개

Flutter 개발에 있어 Dart 언어의 함수 구문은 핵심적인 부분입니다. 특히, 리스트 뷰나 그리드 뷰를 구성할 때 itemBuilder, separatorBuilder 같은 콜백 함수를 자주 사용합니다. 이번 글에서는 화살표 함수(=>)와 블록 바디 함수({})의 차이와 사용 방법에 대해 설명하려고 합니다.

화살표 함수 (=>)

화살표 함수는 Dart에서 '단일 표현식'을 간결하게 작성할 수 있는 방법입니다. 이 방식은 단일 라인 코드에 최적화되어 있으며, 자동으로 표현식의 결과를 반환합니다.

예시:

separatorBuilder: (context, index) => const SizedBox(width: 20),

위 코드에서, separatorBuilder는 각 분리 요소 사이에 고정된 너비의 SizedBox를 삽입합니다. => 뒤에 오는 SizedBox가 바로 반환됩니다.

블록 바디 함수 ({})

블록 바디 함수는 여러 표현식을 포함할 수 있는 더 전통적인 함수 정의 방식입니다. 이 방식은 복잡한 로직이나 여러 단계의 계산을 필요로 할 때 유용합니다. 중요한 점은, 반환하고자 하는 값을 명시적으로 return해야 한다는 것입니다.

예시:

separatorBuilder: (context, index) {
  return const SizedBox(width: 20);
},

이 경우, separatorBuilder 함수 내에서 return 키워드를 사용해 SizedBox를 반환합니다. 만약 return을 생략한다면, 함수는 null을 반환하게 되며, 이는 대부분의 경우에서 원치 않는 결과를 초래합니다.

결론

이 두 가지 함수 정의 방식의 선택은 상황에 따라 달라집니다. 단일 표현식을 반환하는 간단한 경우에는 화살표 함수가 적합하고, 복잡한 로직을 처리해야 할 때는 블록 바디 함수가 더 나을 수 있습니다. 어떤 방식을 선택하든, 명확한 코드 작성이 중요합니다.