User defined infix function notation –
We can create own function with infix notation if the function satisfy the following requirements:
- It must be member function or extension function
- It must accepts a single parameter
- The parameter must not accept variable number of arguments and must have no default value
- It must be marked with infix keyword
Kotlin program of creating square function with infix notation –
Kotlin
class math { // user defined infix member function infix fun square(n : Int): Int{ val num = n * n return num } } fun main(args: Array<String>) { val m = math() // call using infix notation val result = m square 3 print( "The square of a number is: " +result) } |
Output:
The square of a number is: 9
Explanation:
In the above program, we have created own infix notation function (m square 3).
1. First of all, we defined the infix the infix notation function within a class math because it must be member function.
2. infix keyword used to mark the function.
3. It contains only one parameter and having no default value and function return type is also Integer.
square(n : Int):Int
Then, we create an object for the class math()
and called the function using infix notation-
m square 3
It calculate the square of the number and returns value 9
Kotlin program to check the data type of variable with infix notation –
Kotlin
class check{ // user defined infix member function infix fun dataType(x: Any):Any{ var i = when(x){ is String -> "String" is Int -> "Integer" is Double -> "Double" else -> "invalid" } return i } } fun main(args: Array<String>){ var chk = check() // call using infix notation var result = chk dataType 3.3 println(result) } |
Output:
Double
Explanation:
We have created an infix notation function to find the datatype of variable.
The datatype has been passed as an argument in infix call-
chk dataType 3.3
when checks data type for the passing parameter and returns the desired value.
Here, it returns Double to the standard output.
Kotlin infix function notation
In this article, we will learn infix notation used in Kotlin functions. In Kotlin, a functions marked with infix keyword can also be called using infix notation means calling without using parenthesis and dot.
There are two types of infix function notation in Kotlin-
- Standard library infix function notation
- User defined infix function notation