인프런 커뮤니티 질문&답변
ImageCard를 만들 때 질문입니다!!
작성
·
256
0
강의 잘 듣고 있습니다!
ImageCard에 인자를 추가하여
ImageCard(
modifier = Modifier
.fillMaxWidth(0.5f)
.padding(16.dp),
isFavorite = isFavorite,
) { favorite -> isFavorite = favorite}
위와 같이 작성했는데, ImageCard는 3개의 인자를 가지고 마지막 인자는 onTabFavorite으로 callback 함수입니다!
왜 마지막 인자로 넣지 않고 밖으로 빼서 {} 중괄호를 사용한 것인지 궁금합니다!
답변 1
1
오준석
지식공유자
코틀린 문법에서 마지막 인자가 함수라면 바깥으로 뺄 수 있습니다.
다음 링크에서 filter 함수 다음에 () 를 해서 일반 인자처럼 받아도 되지만 { } 를 쓰는 것과 같은 이유이고요.
https://kotlinlang.org/docs/idioms.html#filter-a-list
중간에 함수가 있을 때는 이 문법을 사용할 수 없고 항상 마지막에 함수를 받을 때만 가능합니다.
아. 이유는 가독성이 좋아지는 것 같습니다.






확실히 parameter로 주는 것보다 가독성 면에서 좋아보이네요!!
친절한 답변 감사합니다 :)