Notice
Recent Posts
Recent Comments
Link
Hello, Android!
Scope Function let 본문
코틀린에서는 모든 객체에 범위(Scope)함수를 기본적으로 제공한다
이는 객체를 사용할때 해당 범위 내에서는 별도의 이름 없이 객체에 접근이 가능하다
범위 지정 함수로는 apply, with, let, also, run이 있다
이들은 공통적으로
- 수신 객체
- 수신 객체 지정 람다
이 두가지 구성 요소를 가진다
- let
let의 형태를 보면 블록으로 람다식을 받고 람다식의 결과를 반환한다
객체는 let함수를 호출하는 객체를 블록의 인자로 넘겨주게 된다
- let 사용 예
1. null체크
기본적으로 let블럭 안에는 non-null만 들어올수가 있어 null체크에 사용이 가능하다
만약 직접 null체크를 한다면 if문으로 필요한 값이 null인지 확인해야 할 것이다
만약 let을 사용하게 된다면 자동적으로 객체가 null값이 아닌 경우에만 블록을 실행하게 된다
null인 경우 별도의 처리를 해야한다면 엘비스 연산자를 사용하여 다른 값을 넣어줄수도 있다
2. 지역변수의 범위를 제한 하는 경우
위의 상황에서 지역변수 friendsName은 한번만 사용하고 버려진다
한번을 위해 변수를 할당하는데 자원을 낭비할수가 있는데
let을 사용하게 되면 let의 블록 내에서 함수를 호출하여 값을 넘길수 있다
'Kotlin' 카테고리의 다른 글
Scope Function apply (0) | 2020.07.26 |
---|---|
Scope Function also (0) | 2020.07.25 |
클로저 (0) | 2020.07.23 |
시퀀스 (0) | 2020.07.22 |
컬렉션 검색, 분리, 병합, 정렬 (0) | 2020.07.21 |