Operator Elvis
Termasuk bagian Dasar-Dasar dalam perjalanan Kotlin di Coddy. Pelajaran 15 dari 93.
Operator pemanggilan aman sangat berguna untuk menghindari crash, tetapi terkadang kamu membutuhkan nilai yang sebenarnya, bukan null. Operator Elvis ?: memungkinkan kamu memberikan nilai default saat suatu ekspresi bernilai null.
Sintaksnya sederhana: letakkan ?: setelah ekspresi nullable, lalu ikuti dengan nilai fallback:
fun main() {
val name: String? = null
val displayName = name ?: "Guest"
println(displayName) // Mencetak: Guest
}Jika sisi kiri tidak null, nilai tersebut akan digunakan. Jika null, sisi kanan menjadi hasilnya. Ini berfungsi dengan baik bersama pemanggilan aman:
fun main() {
val text: String? = null
val length = text?.length ?: 0
println(length) // Mencetak: 0
val greeting: String? = "Hello"
val greetingLength = greeting?.length ?: 0
println(greetingLength) // Mencetak: 5
}Operator ini mendapatkan namanya karena ?: terlihat seperti rambut Elvis jika dilihat dari samping. Lebih penting lagi, operator ini memberimu cara yang rapi untuk mengubah tipe yang dapat bernilai null menjadi nilai yang tidak dapat bernilai null, dengan nilai default yang masuk akal.
Tantangan
MudahSebuah paket memiliki label pelacakan opsional dan tujuan opsional. Kode awal menyediakan kedua nilai nullable. Gunakan ?: untuk memilih "Pending" saat label pelacakan tidak tersedia dan "Unassigned" saat tujuan tidak tersedia. Cetak label yang dipilih, lalu tujuan yang dipilih, pada baris terpisah.
Coba sendiri
fun main() {
val trackingLabel: String? = null
val destination: String? = "Harbor"
// Pilih dan cetak kedua nilai yang akan ditampilkan.
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 1
Operator AritmetikaOperator ModuloPenugasan GabunganOperator PerbandinganRingkasan: Matematika Sederhana7Dasar input dan output
Fungsi PrintlnTemplate stringInput ReadLineKonversi Tipe DataRingkasan: Tahun hingga PensiunRingkasan: Benar atau Salah10Fungsi
Deklarasikan FungsiParameter dan ArgumenNilai KembalianArgumen BernamaNilai DefaultFungsi Ekspresi TunggalUlasan: Fungsi SigmaUlasan: Fungsi Validasi5Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Operator Logika Bagian 3Ternary dengan Ekspresi ifRangkuman: Logika Sederhana8Kalkulator Pembagi Tagihan
Pesan Selamat DatangMenerima Input11FizzBuzz dengan Sentuhan Unik
Gambaran Umum GameFungsi FizzBuzz3Kemungkinan Null
Apa Itu Keamanan NullTipe yang Dapat Bernilai NullOperator Pemanggilan AmanOperator ElvisDasar Tantangan FungsiPenegasan Bukan NullRangkuman: Akses Aman6Pengambilan Keputusan
Pernyataan IfIf - ElseIf sebagai EkspresiEkspresi WhenWhen dengan RentangUlasan - Kalkulator Sederhana9Perulangan
For loopWhile loopDo-while loopBreakContinueRentang dalam loopLoop BersarangRingkasan: FaktorialRingkasan: Input DinamisLatihan sendiri: Playground Kotlin