Aloptrbl - Devlog

Kotlin Extensions - Buat Function Baru Kat Class Sedia Ada!

Apa Yang Kau perlu Tau

Hai! Aku tau kau tengah belajar Kotlin. So, hari ni aku nak tunjuk satu feature yang memang best!

Nama dia Kotlin Extensions!

Dengan ni, kau boleh tambah function kat class yang sedia ada, tak payah ubah pun source code class tu! Best gila kan?

Macam Mana?

Kau just buat function, then letak nama class depan. Macam ni:

fun String.hasSpaces(): Boolean {
    return this.contains(" ")
}

Contoh ni aku tambah function hasSpaces() kat String class! String class yang asal tu takde function ni, tapi kau sekarang boleh guna! Macam magic je.

Guna Function Extension

Macam ni cara nak guna:

val myString = "Hello, World!"
println(myString.hasSpaces()) // prints: true

Best kan? Macam kau write dalam class sendiri je!

Contoh Lagi

Nak bagi String jadi title case? Contoh "hello world" jadi "Hello World"? Ni:

fun String.toTitleCase(): String {
    return this.split(" ").joinToString(" ") { 
        it.replaceFirstChar { char -> char.uppercase() }
    }
}

// Usage
println("hello world".toTitleCase()) // Hello World

Settled!

Kotlin Extensions ni memang berguna untuk:

  • Tambah function kat class yang kau takleh modify (macam String, Int, etc)
  • Buat helper functions yang selalu nak guna
  • Decode encode, string manipulation, apa-apalah

So, try lah buat sendiri! Confirm kau akan dapat banyak idea!

Okay tu je! Selamat mencuba!