0Pricing
Kotlin Academy · Pelajaran

Deklarasi Destrukturisasi

Bongkar menjadi variabel

Deklarasi Destrukturisasi adalah pelajaran Kotlin Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Kotlin Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Kotlin Academy mencakup 4 pelajaran total.

Membongkar Objek

Kadang-kadang Anda ingin mengambil beberapa properti dari sebuah objek sekaligus.

Deklarasi destrukturisasi Kotlin memungkinkan Anda menetapkan beberapa variabel dari satu objek dalam satu baris.

Destrukturisasi Dasar

Letakkan nama-nama di dalam tanda kurung di sebelah kiri =. Kotlin menetapkan komponen objek kepada nama-nama tersebut secara berurutan.

Kelas data mendukung hal ini secara otomatis.

data class User(val name: String, val age: Int)

fun main() {
    val user = User("Alice", 30)
    val (name, age) = user
    println(name)
    println(age)
}

Cara Kerjanya

Di balik layar, dekonstruksi memanggil component1(), component2(), dan seterusnya.

Posisi setiap variabel dipetakan ke fungsi komponen yang sesuai.

data class Point(val x: Int, val y: Int)

fun main() {
    val p = Point(3, 7)
    println(p.component1())
    println(p.component2())
}

Urutan Itu Penting

Variabel dicocokkan berdasarkan posisi, bukan nama.

Variabel pertama selalu mendapatkan properti konstruktor pertama, terlepas dari nama yang Anda berikan.

data class Pair2(val first: Int, val second: Int)

fun main() {
    val (a, b) = Pair2(10, 20)
    println(a) // first property
    println(b) // second property
}

Melewati Komponen

Gunakan garis bawah _ untuk melewati komponen yang tidak Anda perlukan.

Dengan begitu, kode tetap rapi saat hanya beberapa nilai yang penting.

data class User(val name: String, val age: Int, val city: String)

fun main() {
    val (name, _, city) = User("Mia", 28, "Paris")
    println(name)
    println(city)
}

Dekonstruksi dalam Perulangan

Dekonstruksi sangat berguna saat melakukan iterasi pada koleksi objek.

Anda dapat membongkar setiap elemen secara langsung di bagian awal for.

data class User(val name: String, val age: Int)

fun main() {
    val users = listOf(User("A", 20), User("B", 25))
    for ((name, age) in users) {
        println(name + " is " + age)
    }
}

Mendekonstruksi Entri Peta

Peta mendukung dekonstruksi karena entrinya menyediakan komponen kunci dan nilai.

Hal ini membuat iterasi pada peta menjadi sangat mudah dibaca.

fun main() {
    val scores = mapOf("Alice" to 90, "Bob" to 85)
    for ((name, score) in scores) {
        println(name + ": " + score)
    }
}

Mengembalikan Banyak Nilai

Sebuah fungsi dapat mengembalikan kelas data, lalu pemanggilnya dapat mendekonstruksi hasil tersebut.

Ini merupakan alternatif yang rapi untuk parameter keluaran.

data class MinMax(val min: Int, val max: Int)

fun minMax(nums: List<Int>): MinMax {
    return MinMax(nums.min(), nums.max())
}

fun main() {
    val (low, high) = minMax(listOf(3, 1, 8, 5))
    println(low)
    println(high)
}

Mendekonstruksi Pair dan Triple

Pustaka standar Pair dan Triple juga mendukung dekonstruksi.

Keduanya berguna untuk mengelompokkan beberapa nilai dengan cepat tanpa mendefinisikan kelas.

fun main() {
    val pair = Pair("x", 1)
    val (label, value) = pair
    println(label)
    println(value)
}

Dekonstruksi Parameter Lambda

Anda dapat melakukan dekonstruksi langsung di dalam daftar parameter lambda.

Hal ini umum dilakukan saat memetakan entri atau pasangan.

fun main() {
    val map = mapOf(1 to "one", 2 to "two")
    val text = map.map { (key, value) -> "" + key + "=" + value }
    println(text)
}

Menyatukan Semuanya

Dekonstruksi membongkar objek menjadi beberapa variabel:

  • Gunakan tanda kurung di sebelah kiri =
  • Komponen dicocokkan berdasarkan posisi
  • Lewati komponen dengan _
  • Dapat digunakan dalam perulangan, lambda, dan nilai yang dikembalikan
data class Result(val ok: Boolean, val message: String)

fun main() {
    val (ok, message) = Result(true, "done")
    println(ok)
    println(message)
}

Pemeriksaan Singkat

Uji pemahaman Anda tentang deklarasi dekonstruksi.

Rangkuman

Anda telah mempelajari deklarasi dekonstruksi:

  • Deklarasi ini membongkar sebuah objek menjadi beberapa variabel
  • Pencocokan dilakukan berdasarkan posisi melalui componentN()
  • _ melewati komponen yang tidak diperlukan
  • Deklarasi ini dapat digunakan dalam perulangan, peta, lambda, dan nilai yang dikembalikan

Selanjutnya, Anda akan menggunakan kelas data di dalam koleksi seperti himpunan dan peta.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Deklarasi Destrukturisasi” gratis?

Ya — teks lengkap “Deklarasi Destrukturisasi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Kotlin Academy, upgrade ke CoddyKit PRO. Kursus Kotlin Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Deklarasi Destrukturisasi”?

Bongkar menjadi variabel Kamu berlatih Kotlin Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Kotlin Academy?

Tidak diperlukan pengalaman sebelumnya. Kotlin Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Deklarasi Destrukturisasi” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Kotlin Academy ini?

Ya. Setiap pelajaran Kotlin Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Mendeklarasikan Kelas Data
  2. copy dan equals
  3. Deklarasi Destrukturisasi
  4. Kelas Data dalam Koleksi
← Kembali ke Kotlin Academy