Fungsi Infix
Pemanggilan fungsi yang mudah dibaca
Fungsi Infix adalah pelajaran Kotlin Academy gratis di CoddyKit. Ini adalah pelajaran 1 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.
Apa Itu Fungsi Infiks
Fungsi infiks dapat dipanggil tanpa titik atau tanda kurung: a func b. Tandai fungsi tersebut dengan kata kunci infix.
infix fun Int.times2(factor: Int) = this * factor
fun main() {
println(3 times2 4)
}Aturan untuk Fungsi Infiks
Fungsi infiks harus berupa fungsi anggota atau ekstensi, menerima tepat satu parameter, dan parameter tersebut tidak boleh berupa vararg atau memiliki nilai bawaan.
infix fun Int.plusBy(other: Int) = this + other
fun main() {
println(5 plusBy 7)
}Fungsi Infiks Bawaan
Banyak fungsi standar merupakan fungsi infiks: to (membangun sebuah pasangan), and, or, shl, serta until, downTo, dan step untuk rentang.
fun main() {
val pair = "key" to 42
println(pair)
for (i in 1 until 4) print(i)
}Membangun Pasangan dengan to
Sintaks peta "a" to 1 yang sudah dikenal hanyalah fungsi infiks to yang mengembalikan sebuah pasangan.
fun main() {
val map = mapOf(1 to "one", 2 to "two")
println(map[2])
}Infiks sebagai Fungsi Anggota
Fungsi infiks dapat menjadi anggota, sehingga Anda dapat menulis ekspresi domain yang mengalir dengan lancar.
class Money(val cents: Int) {
infix fun add(o: Money) = Money(cents + o.cents)
}
fun main() {
val total = Money(100) add Money(50)
println(total.cents)
}Utamakan Keterbacaan
Infiks sangat berguna ketika pemanggilannya terbaca seperti kalimat. Pilih nama yang menyerupai kata kerja agar a name b mengalir secara alami.
infix fun String.repeatedTimes(n: Int) = this.repeat(n)
fun main() {
println("ab" repeatedTimes 3)
}Prioritas Pemanggilan Infiks
Pemanggilan infiks memiliki prioritas lebih rendah daripada aritmetika, tetapi lebih tinggi daripada perbandingan. Tambahkan tanda kurung saat mencampurkannya agar tetap jelas.
infix fun Int.combine(o: Int) = this * 10 + o
fun main() {
println(1 combine 2 + 3)
}Penerima this
Dalam ekstensi infiks, this adalah operand kiri; parameternya adalah operand kanan.
infix fun Int.minus2(o: Int) = this - o
fun main() {
println(10 minus2 3)
}Merangkai Pemanggilan Infiks
Pemanggilan infiks bersifat asosiatif-kiri, sehingga Anda dapat merangkainya.
infix fun Int.then(o: Int) = this + o
fun main() {
println(1 then 2 then 3)
}Hindari Penggunaan Infiks Berlebihan
Infiks menghilangkan titik dan tanda kurung, yang dapat mengurangi kejelasan untuk operasi yang tidak lazim. Gunakan hanya jika hasil bacanya memang lebih baik.
infix fun Int.power(exp: Int): Int {
var r = 1
repeat(exp) { r *= this }
return r
}
fun main() {
println(2 power 5)
}Contoh yang Mengalir dengan Lancar
Infiks dapat membuat pernyataan atau pembangun terbaca hampir seperti bahasa Inggris.
infix fun String.shouldStartWith(prefix: String) =
this.startsWith(prefix)
fun main() {
println("kotlin" shouldStartWith "kot")
}Pemeriksaan Singkat
Uji pemahaman Anda tentang fungsi infiks.
Rangkuman
Anda telah mempelajari fungsi infiks:
- Tandai dengan
infixdan panggil sebagaia func b. - Fungsi tersebut harus berupa anggota/ekstensi dengan satu parameter yang bukan vararg dan tidak memiliki nilai bawaan.
to,until, dandownToadalah fungsi infiks bawaan.- Gunakan ketika benar-benar meningkatkan keterbacaan.
infix fun Int.add(o: Int) = this + o
fun main() {
println(4 add 6)
}Pertanyaan yang Sering Diajukan
Apakah pelajaran “Fungsi Infix” gratis?
Ya — teks lengkap “Fungsi Infix” 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 “Fungsi Infix”?
Pemanggilan fungsi yang mudah dibaca 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 1 dari 4.
Berapa lama pelajaran “Fungsi Infix” 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.