Fungsi Ekspresi Tunggal
Termasuk bagian Dasar-Dasar dalam perjalanan Kotlin di Coddy. Pelajaran 60 dari 93.
Saat sebuah fungsi hanya berisi satu ekspresi, Kotlin menawarkan sintaks yang lebih ringkas. Alih-alih menggunakan kurung kurawal dan kata kunci return, kamu dapat menggunakan tanda sama dengan yang langsung diikuti ekspresi tersebut.
Berikut fungsi biasa dibandingkan dengan padanannya yang menggunakan satu ekspresi:
// Fungsi biasa
fun double(n: Int): Int {
return n * 2
}
// Fungsi dengan satu ekspresi
fun double(n: Int): Int = n * 2Kedua versi berfungsi dengan cara yang sama, tetapi versi kedua lebih singkat dan lebih mudah dibaca untuk operasi sederhana.
Kotlin bahkan dapat menyimpulkan tipe kembalian untuk fungsi dengan satu ekspresi, sehingga kamu dapat menghilangkannya sepenuhnya:
fun double(n: Int) = n * 2
fun greet(name: String) = "Hello, $name!"Sintaks ini juga berfungsi dengan baik pada ekspresi percabangan:
fun max(a: Int, b: Int) = if (a > b) a else b
fun isEven(n: Int) = n % 2 == 0Fungsi dengan satu ekspresi cocok untuk perhitungan, validasi, dan transformasi sederhana. Fungsi ini membuat kodemu tetap rapi dan berfokus pada hal yang dilakukan fungsi, bukan pada mekanisme untuk mengembalikan nilai.
Tantangan
SedangTulis fungsi calculateDiscount yang menerima price dan percentage, lalu mengembalikan harga setelah diskon.
Gunakan sintaks fungsi ekspresi tunggal (dengan =, bukan kurung kurawal dan return) untuk menghitung harga akhir setelah diskon diterapkan.
Harga setelah diskon dihitung sebagai: price - (price * percentage / 100)
Parameter:
price(Double): Harga awalpercentage(Int): Persentase diskon (0-100)
Nilai yang dikembalikan: Harga setelah diskon diterapkan (Double)
Coba sendiri
fun calculateDiscount(price: Double, percentage: Int): Double {
// Tulis kodemu di sini
}
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