DEV Community

alfianandinugraha
alfianandinugraha

Posted on

Mari Mengenal Infix Notation di Kotlin

Infix merupakan notasi antara operand dan operator (+, -, *, /) dimana operator berada di antara dua operand. Bentuk Infix pada matematika :

2 + 3 = 5
5 + 5 = 10

Misalkan pada 2 + 3, 2 dan 3 merupakan operand dan + merupakan operator.

Bentuk Infix diatas bisa diterapkan kedalam kotlin, jadinya

fun Int.kurangi(newValue: Int): Int {
    return this - newValue
}

infix fun Int.tambah(newValue: Int): Int {
    return this + newValue
}

fun main() {
    val hasil = 10.kurangi(4)
    val hasil2 = 5 tambah 5
    val hasil3 = 5.tambah(5)
}
Enter fullscreen mode Exit fullscreen mode

Penjelasan kode

Ada dua function yang ditambahkan pada tipe data Int yaitu kurangi dan tambah maka setiap tipe data Int bisa menggunakan kedua fungsi tersebut. Misalkan pada variabel hasil karena 10 itu adalah tipe data Int maka bisa langsung di eksekusi fungsinya jadi 10.kurangi(4)

Penulisannya bisa dipersingkat menggunakan keyword Infix sebelum keyword fun. Misalkan pada method tambah, karena method ini adalah sebuah Infix maka pemanggilannya bisa dipersingkat menjadi 5 tambah 5 (notasi infix)

Class Infix Method

Kode di atas merupakan contoh Infix pada sebuah class Int. Kotlin juga support Infix pada method di sebuah class. Misalkan :

class Angka(var angka: Int) {
    infix fun tambah(nilai: Int): Int {
        return angka + nilai
    }
}

fun main() {
    val hasil = Angka(10)
    println(hasil tambah 10)
}
Enter fullscreen mode Exit fullscreen mode

Syarat Infix

  • Bisa bertipe data apa saja termasuk String atau Double
  • Harus memiliki satu parameter

Top comments (0)