data class MyDate(val year: Int, val month: Int, val dayOfMonth: Int) : Comparable<MyDate> {
    override fun compareTo(other: MyDate) = when {
        year != other.year -> year - other.year
        month != other.month -> month - other.month
        else -> dayOfMonth - other.dayOfMonth
    }
}

fun test(date1: MyDate, date2: MyDate) {
    // this code should compile:
    println(date1 < date2)
}

https://play.kotlinlang.org/koans/Conventions/Comparison/Task.kt

코틀린의 when expression은 정말 강력합니다

파이썬은 3.10에 와서야 패턴매칭이 지원됐는데.. 코틀린은 ㅎㅎ 바로 되네요

반응형

'프로그래밍 > Kotlin' 카테고리의 다른 글

[Kotlin] 프로퍼티 (Property)  (0) 2022.03.20
[Kotlin] trailing comma  (0) 2022.03.19
[Kotlin] 코틀린 선문답(Kotlin Koans)  (0) 2022.03.19
[Kotlin] 코틀린의 특징  (0) 2022.03.19
[Kotlin] 데이터 클래스(Data Class)  (0) 2022.03.19