해결된 질문
작성
·
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
안녕하세요 011414님
질문 답변 드립니다.
질문1) createdAt (작성일)이 같은지 bool 형태로 리턴된 후 diary 형태의 인스턴스를 리턴하라는 의미인지요?
Diary diary = diaryList.firstWhere((diary) => diary.createdAt == createdAt);
위 코드에서 firstWhere는 diaryList를 반복문처럼 하나씩 순환하며 전달받은 함수로 전달하는데, 해당 함수의 반환 값이 true인 경우 순환이 종료되며 해당 diary를 반환하는 함수입니다.
즉, 전체 배열에서 특정 조건에 첫 번째로 해당하는 항목을 반환하는 코드라고 이해하시면 됩니다.
관련 공식 문서 링크도 공유 드립니다.
질문2) 위에서 (_) 의미가 파라미터를 원래 있는데 안 넣을때 쓰는 건지요?
맞습니다. 함수의 파라미터를 사용하지 않을 때 _ 혹은 파라미터가 많아질 땐 _ / __ / ___ 등을 사용합니다. 이는 관습적인 것으로 파라미터 이름을 부여하셔도 무관합니다.
감사합니다 ❤️