Kotlin - Funciones

Kotlin es un lenguaje escrito estáticamente, por lo tanto, las funciones juegan un papel importante en él. Estamos bastante familiarizados con la función, ya que usamos la función en todos los ejemplos. La función se declara con la palabra clave "diversión". Como cualquier otro POO, también necesita un tipo de retorno y una lista de argumentos de opciones.

En el siguiente ejemplo, estamos definiendo una función llamada MyFunction y desde la función principal estamos llamando a esta función y pasando algún argumento.

fun main(args: Array<String>) {
   println(MyFunction("tutorialsPoint.com"))
}
fun MyFunction(x: String): String {
   var c:String  = "Hey!! Welcome To ---"
   return (c+x)
}

El fragmento de código anterior producirá el siguiente resultado en el navegador.

Hey!! Welcome To ---tutorialsPoint.com

La función debe declararse de la siguiente manera:

fun <nameOfFunction>(<argument>:<argumentType>):<ReturnType>

A continuación se muestran algunos de los diferentes tipos de funciones disponibles en Kotlin.

Función Lambda

Lambda es una función de alto nivel que reduce drásticamente el código de la placa de la caldera mientras declara una función y define la misma. Kotlin le permite definir su propia lambda. En Kotlin, puede declarar su lambda y pasar esa lambda a una función.

Eche un vistazo al siguiente ejemplo.

fun main(args: Array<String>) {
   val mylambda :(String)->Unit  = {s:String->print(s)}
   val v:String = "TutorialsPoint.com"
   mylambda(v)
}

En el código anterior, hemos creado nuestra propia lambda conocida como "mylambda" y le hemos pasado una variable a esta lambda, que es de tipo String y contiene un valor "TutorialsPoint.com".

El fragmento de código anterior producirá el siguiente resultado en el navegador.

TutorialsPoint.com

Función en línea

El ejemplo anterior muestra lo básico de la expresión lambda que podemos usar en la aplicación Kotlin. Ahora, podemos pasar una lambda a otra función para obtener nuestra salida, lo que hace que la función de llamada sea una función en línea.

Eche un vistazo al siguiente ejemplo.

fun main(args: Array<String>) {
   val mylambda:(String)->Unit  = {s:String->print(s)}
   val v:String = "TutorialsPoint.com"
   myFun(v,mylambda) //passing lambda as a parameter of another function 
}
fun myFun(a :String, action: (String)->Unit) { //passing lambda 
   print("Heyyy!!!")
   action(a)// call to lambda function
}

El fragmento de código anterior producirá el siguiente resultado en el navegador. Usando la función en línea, hemos pasado una lambda como parámetro. Cualquier otra función se puede convertir en una función en línea usando la palabra clave "en línea".

Heyyy!!!TutorialsPoint.com