티스토리 뷰

저는 지금은 주로 iOS만 개발하기 때문에 guard를 잘 사용합니다.


그럼 안드로이드에서는 guard가 없는데 어떻게 사용하면 guard처럼 사용할 수 있을까요?


1. if

그냥 손쉽게 사용하는 방법입니다.

Android Studio 안에서는 smart기능이라고 하죠...


if (person == null) return
Log.d("test", person) // person is String? type


2. let


null이 아닐 경우에 접근하여서 값을 가져오는 방법입니다.


var person: String? = null
val good = person?.let { it } ?: return
// Look Like Swift guard. -> let good = person else { return }


3. apply


let의 경우와 비슷합니다.

거의 동일하다고 봐도 됩니다.


var person: String? = null
val good = person?.apply { print(this) } ?: return
// apply block in set Class values


4. guard처럼 씁니다.


val number = number ?: return
view raw kotlin_guard.kt hosted with ❤ by GitHub


guard처럼 inline fun을 만들어 보았지만 리턴 타입을 제대로 만들지 못하여서 그렇게는 되지 않는것 같습니다.

각 언어에 맞는 방법으로 null을 잘 바인딩해서 사용하여 봅시다.


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함