Kotlin - Fonctions

Kotlin est un langage typé statiquement, par conséquent, les fonctions y jouent un grand rôle. Nous sommes assez familiers avec la fonction, car nous utilisons la fonction dans tous les exemples. La fonction est déclarée avec le mot-clé «fun». Comme toute autre POO, il a également besoin d'un type de retour et d'une liste d'arguments d'option.

Dans l'exemple suivant, nous définissons une fonction appelée MyFunction et à partir de la fonction principale, nous appelons cette fonction et passons un argument.

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

Le morceau de code ci-dessus donnera la sortie suivante dans le navigateur.

Hey!! Welcome To ---tutorialsPoint.com

La fonction doit être déclarée comme suit -

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

Voici quelques-uns des différents types de fonctions disponibles dans Kotlin.

Fonction Lambda

Lambda est une fonction de haut niveau qui réduit considérablement le code de la plaque de la chaudière tout en déclarant une fonction et en la définissant. Kotlin vous permet de définir votre propre lambda. Dans Kotlin, vous pouvez déclarer votre lambda et transmettre ce lambda à une fonction.

Jetez un œil à l'exemple suivant.

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

Dans le code ci-dessus, nous avons créé notre propre lambda connu sous le nom de «mylambda» et nous avons passé une variable à ce lambda, qui est de type String et contient une valeur «TutorialsPoint.com».

Le morceau de code ci-dessus donnera la sortie suivante dans le navigateur.

TutorialsPoint.com

Fonction en ligne

L'exemple ci-dessus montre la base de l'expression lambda que nous pouvons utiliser dans l'application Kotlin. Maintenant, nous pouvons passer un lambda à une autre fonction pour obtenir notre sortie, ce qui fait de la fonction appelante une fonction en ligne.

Jetez un œil à l'exemple suivant.

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
}

Le morceau de code ci-dessus donnera la sortie suivante dans le navigateur. En utilisant la fonction en ligne, nous avons passé un lambda comme paramètre. Toute autre fonction peut être transformée en fonction en ligne à l'aide du mot-clé «inline».

Heyyy!!!TutorialsPoint.com