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
- Mendeklarasikan Kelas Data
- copy dan equals
- Deklarasi Destrukturisasi
- Kelas Data dalam Koleksi