티스토리 뷰

Mobile/Android

kotlin optional unwrapping

out of coding 2018. 2. 19. 23:46

swift도 마찬가지이지만, kotlin에도 optional 이 존재합니다.

아... 적고 보니깐 말을 거꾸로 적었네요. swift가 kotlin의 이 개념을 가져간겁니다.


일단 swift를 예를 들어보겠습니다.


아직 swift에 익숙하지 않은 분들은 어쩔수 없네요...


크게 두가지 방법 정도가 있을것 같습니다.


첫번째 방법입니다. if let을 이용합니다.


1
2
3
4
5
if let unwrapping = wrapping {
    // unwrapping is unwrapping
}
 
// unwrapping can be accessed outside guard block
cs


두번째 방법입니다. guard를 이용합니다. 저는 솔찍히 이 방법을 더 좋아합니다.


1
2
3
guard let unwrapping = wrapping else { return }
 
// unwrapping is unwrapping
cs


안정하게 optional variable을 사용하는 방법일텐데요...


! ← 이런거 굉장히 좋지 않습니다. ^^ 정말 nil 이 아닐때만 사용합시다.


자 그렇다면 kotlin에서는 어떻게 이용할수 있을까요.


일단 툴에서 어느 정도 if (wrapping != null) 정도로 스마트하게 처리를 해줍니다.


하지만 약간 다른 방법으로 사용할수 있는데요.. 다음과 같습니다. 뭔가 좀 있어 보이죠...

guard와도 비슷하고요.


1
2
3
val unwrapping = wrapping?.let { it } ?: return
 
// unwrapping is unwrapping
cs


위에도 글을 적었지만 if 문 안에 구문을 적는 방법은 tab을 한번 더 들어가게 만들어서 코드의 가독성을 높이지 못하는것 같아서 저는 위의 방법과 같이 사용합니다.


그럼 즐거운 코딩 되세요.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/02   »
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
글 보관함