728x90
fun main() {
var data: String? = null
println("data length : ${data?.length ?: 0}")
}
- 위 소스는 data가 null이면 0을 반환하고 null이 아니면 length를 이용해 문자열의 개수를 얻는 소느
- null 점검 코드를 작성하지 않았는데도 널 안정성을 확보
728x90
엘비스 - ?: 연산자
- 엘비스 연산자란 ?: 기호를 말한다.
- 이 연산자는 변수가 널이면 널을 반환한다.
- 변수가 널일 때 대입해야 하는 값이나 실행해야 하는 구문이 있을 때, 엘비스 연산자를 이용한다.
fun main() {
var data: String? = "kuka"
println("data = $data : ${data?.length ?: -1}")
data = null
println("data = $data : ${data?.length ?: -1}")
}
예외 발생 - !! 연산자
fun some(data: String?): Int {
return data!!.length
}
fun main() {
println(some("kkang"))
println(some(null))
}
- 위 소스는 some() 함수에 문자열을 전달하면 오류 없이 정상으로 실행되고, null을 전달하면 data!!.length 코드로 예외 메시지를 출력하는 것을 보여준다.
728x90
'Kotlin 앱 프로그래밍' 카테고리의 다른 글
(코틀린) 상속과 오버라이딩 (0) | 2023.05.22 |
---|---|
(코틀린) 주 생성자와 보조 생성자 (0) | 2023.05.22 |
(코틀린) 고차 함수 (0) | 2023.05.21 |
(코틀린) 람다 함수의 반환 (0) | 2023.05.21 |
(코틀린) 매개변수가 1개인 람다 함수 (0) | 2023.05.21 |