WinGyu_coder
Flutter 플러터 화살표 함수 () =>, 블록 바디 함수 () {} 차이점 본문
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
을 반환하게 되며, 이는 대부분의 경우에서 원치 않는 결과를 초래합니다.
결론
이 두 가지 함수 정의 방식의 선택은 상황에 따라 달라집니다. 단일 표현식을 반환하는 간단한 경우에는 화살표 함수가 적합하고, 복잡한 로직을 처리해야 할 때는 블록 바디 함수가 더 나을 수 있습니다. 어떤 방식을 선택하든, 명확한 코드 작성이 중요합니다.
'Flutter 플러터, Dart 다트' 카테고리의 다른 글
Flutter, Dart 플러터 함수 정의, void 사용과 사용 안하는 경우 비교 (0) | 2023.11.20 |
---|---|
Flutter, 플러터 ListView, separated 와 builder 차이점 (0) | 2023.11.19 |
Flutter, 플러터로 직렬통신하기, RS-485, serial_communication (0) | 2023.11.08 |
Flutter 플러터: mainAxisAlignment, crossAxisAlignment (가로,세로 정렬) (2) (0) | 2023.10.22 |
MacOS 맥에서 Flutter 플러터 시작하기, 설치 및 vscode 세팅 방법 (1) (1) | 2023.10.15 |