kotlin scope function에 관한 것입니다.
let with run apply also와 같은 scope(범위) function 인데, 이 부분을 한번 무엇인지 살펴보고 가겠습니다.
우선을 이런 기능들을 코드를 효율적으로 짜고, 가독성을 높이거나 코드량을 줄이기 위해 사용하는데, 이게 뭔지 보시면
간단하게 also를 사용해봤습니다.
간단하게 하나를 봤는데, 대부분 이 친구들을 비슷비슷한 기능을 합니다.
공식문서에서는 어떻게 설명하고 있냐하면
To help you choose the right scope function for your case, we'll describe them in detail and provide usage recommendations. Technically, functions are interchangeable in many cases, so the examples show the conventions that define the common usage style.
그러니깐 예제 보면서 알아서 써라 라고 적혀있습니다.
하나씩 보면서 가보겠습니다.
1. let
let is often used for executing a code block only with non-null values. To perform actions on a non-null object, use the safe call operator ?. on it and call let with the actions in its lambda.
non null일 때 실행해야 할 때 사용합니다.
2. with
We recommend with for calling functions on the context object without providing the lambda result. In the code, with can be read as “ with this object, do the following.”
컨텍스트 내부에서 함수를 호출할 때 사용합니다.
만약 이걸 밖에서 사용한다면 아래와 같이 사용 가능합니다.
3. run
run is useful when your lambda contains both the object initialization and the computation of the return value.
객체 초기화와, return 값 계산이 필요할 때 주로 사용합니다.
4. apply
Use apply for code blocks that don't return a value and mainly operate on the members of the receiver object. The common case for apply is the object configuration. Such calls can be read as “ apply the following assignments to the object.”
값을 반환하지 않고, 객체의 구성에 대해 주로 사용합니다.
5. also
When you see also in the code, you can read it as “ and also do the following with the object.”
객체에 대해 추가적인 작업을 할 수 있습니다.
- 참조
https://kotlinlang.org/docs/scope-functions.html
https://0391kjy.tistory.com/25
https://medium.com/@fatihcoskun/kotlin-scoping-functions-apply-vs-with-let-also-run-816e4efb75f5
'Android(Kotlin)' 카테고리의 다른 글
Android arr module 만들기 및 import (0) | 2021.11.07 |
---|---|
Android NotificationListenerService (0) | 2021.11.04 |
inline function (0) | 2021.10.31 |
kotlin -> bytecode -> java (0) | 2021.10.31 |
kotlin infix function (0) | 2021.10.29 |