Variaciones de la función Kotlin con ejemplos

Al definir una función en Kotlin, tenemos muchas anotaciones opcionales. Vamos a aprender cada uno de ellos uno por uno.

Definiendo una función en Kotlin:

Visibility modifier fun functionName (argument name: type name, ...): return type{
  .....
  // function body
  .....
  return value
 }

Normalmente, es la forma correcta de definir una función en Kotlin.

Ejemplo:

private fun gfg1( a : Int, b :Int ): Int {
  var c : Int 
  c = a + b
  return c
}

Ahora veremos la variación de esta función.

Modificador de visibilidad

En Kotlin, al definir una función, es opcional especificar el modificador de Visibilidad. Si no se menciona al definir, por defecto se considera público.

Ejemplo:

fun gfg2( a : Int, b :Int ): Int {
  var c : Int 
  c = a + b
  return c
}

Tanto gfg1( ) como gfg2( ) están haciendo el mismo trabajo, pero gfg1 es una función privada y gfg2 es una función pública ya que no hemos mencionado su modificador de Visibilidad.

Función de expresión única

En Kotlin, si la función tiene solo una expresión, podemos omitir las llaves. 

Ejemplo:

fun gfg3( a: Int , b :Int ) : Int  = a + b

En lugar de llaves, usamos el signo ‘=’ para el cuerpo de la función. También podemos omitir el tipo de retorno en la función de expresión única.

fun gfg4( a: Int , b :Int ) = a + b

gfg4( ) y gfg3( ) es lo mismo.

Tipo de retorno

En Kotlin, al definir la función, debemos declarar el tipo de datos que regresa en la función. Si no devolvemos nada, tenemos la opción de especificar ‘ unidad ‘ o si no especificamos nada, Kotlin lo asumirá como una función que no devuelve nada.

Ejemplo:

// declaring the return type as 
// unit as it isn't returning anything.
fun gfg5( a : Int): Unit {
  print(a)
}
// Here we have mention the return type,
// kotlin can infer the return type
fun gfg6( a : Int){
  print(a)
}

tanto gfg5 ( ) como gfg6 ( ) son iguales.

Argumento

Cuando tenemos muchos argumentos en una función, es difícil recordar la posición de cada uno de ellos. Entonces, aquí podemos usar argumentos de nombre, aquí necesitamos especificar el nombre junto con los valores de la función. Podemos cambiar la secuencia de los valores, el valor se asignará a un argumento que tendrá el mismo nombre que tiene el valor.

Ejemplo:

fun main( ){
    val res1 = gfg7( arg1 = 2, arg2 = 3) //using name argument 
    val res2 = gfg7( arg2 = 3, arg1 = 2 )  // sequence doesn't matter here.
    
}

fun gfg7( arg1 : Int, arg2 :Int ): Int {
  return arg1 + arg2
}

Publicación traducida automáticamente

Artículo escrito por ayushpandey3july y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *