인프런 커뮤니티 질문&답변

011414님의 프로필 이미지
011414

작성한 질문수

Flutter 앱 개발 기초

3장 한줄일기 샘플 소스 중 =>, (_) 의미 ?

해결된 질문

작성

·

170

1

안녕하세요? 
훌륭한 강좌 덕분에 처음 해보는 Flutter지만 쉽게 배우며 많은 재미를 느끼고 있습니다.
감사하다는 말씀 드리고 있습니다.

3장 샘플중에 [한줄 일기] 샘플소스 중에 정확히 어떤 의미인지 잘 이해가 안가서 여쭤봅니다.

질문 1)     
// createdAt은 중복될 일이 없기 때문에 createdAt을 고유 식별자로 사용

// createdAt이 일치하는 diary 조회

Diary diary = diaryList.firstWhere((diary) => diary.createdAt == createdAt);

=>   는 {return} 과 동일하다고 알고 있었는데요.
뒤에 createdAt (작성일)이 같은지 bool 형태로 리턴된 후 diary 형태의 인스턴스를 리턴하라는 의미인지요?

 

---------------------------------------

질문 2)

TextField (

        ... 중략 ...

onSubmitted: (_) {

              // 엔터 누를 때 작성하기

              createDiary(diaryService);

              Navigator.pop(context);

            },

),

위에서 (_) 의미가 파라미터를 원래 있는데 안 넣을때 쓰는 건지요?

어떨때 쓰는 걸까요?

답변 1

1

DevStory님의 프로필 이미지
DevStory
지식공유자

안녕하세요 011414님
질문 답변 드립니다.

질문1) createdAt (작성일)이 같은지 bool 형태로 리턴된 후 diary 형태의 인스턴스를 리턴하라는 의미인지요?

Diary diary = diaryList.firstWhere((diary) => diary.createdAt == createdAt);

위 코드에서 firstWhere는  diaryList를 반복문처럼 하나씩 순환하며 전달받은 함수로 전달하는데, 해당 함수의 반환 값이 true인 경우 순환이 종료되며 해당 diary를 반환하는 함수입니다.
즉, 전체 배열에서 특정 조건에 첫 번째로 해당하는 항목을 반환하는 코드라고 이해하시면 됩니다.
관련 공식 문서 링크도 공유 드립니다.

질문2) 위에서 (_) 의미가 파라미터를 원래 있는데 안 넣을때 쓰는 건지요?
맞습니다. 함수의 파라미터를 사용하지 않을 때 _ 혹은 파라미터가 많아질 땐 _ / __ / ___ 등을 사용합니다. 이는 관습적인 것으로 파라미터 이름을 부여하셔도 무관합니다.

감사합니다 ❤️

011414님의 프로필 이미지
011414

작성한 질문수

질문하기