Función de Kotlin (con ejemplo)

Tabla de contenido

En este artículo, aprenderá sobre las funciones; qué funciones son, su sintaxis y cómo crear una función de usuario en Kotlin.

En programación, la función es un grupo de declaraciones relacionadas que realizan una tarea específica.

Las funciones se utilizan para dividir un programa grande en partes más pequeñas y modulares. Por ejemplo, necesita crear y colorear un círculo según la entrada del usuario. Puede crear dos funciones para resolver este problema:

  • createCircle() Función
  • colorCircle() Función

Dividir un programa complejo en componentes más pequeños hace que nuestro programa sea más organizado y manejable.

Además, evita la repetición y hace que el código sea reutilizable.

Tipos de funciones

Dependiendo de si una función está definida por el usuario o está disponible en la biblioteca estándar, existen dos tipos de funciones:

  • Función de biblioteca estándar de Kotlin
  • Funciones definidas por el usuario

Función de biblioteca estándar de Kotlin

Las funciones de la biblioteca estándar son funciones integradas en Kotlin que están disponibles para su uso. Por ejemplo,

  • print() es una función de biblioteca que imprime mensajes en el flujo de salida estándar (monitor).
  • sqrt()devuelve la raíz cuadrada de un número ( Doublevalor)
 fun main(args: Array) ( var number = 5.5 print("Result = $(Math.sqrt(number))") )

Cuando ejecute el programa, la salida será:

 Resultado = 2,345207879911715

Aquí hay un enlace a la Biblioteca estándar de Kotlin para que lo explore.

Funciones definidas por el usuario

Como se mencionó, puede crear funciones usted mismo. Estas funciones se denominan funciones definidas por el usuario.

¿Cómo crear una función definida por el usuario en Kotlin?

Antes de poder usar (llamar) una función, es necesario definirla.

Así es como puede definir una función en Kotlin:

 fun callMe () (// cuerpo de la función) 

Para definir una función en Kotlin, funse usa la palabra clave. Luego viene el nombre de la función (identificador). Aquí, el nombre de la función es callMe.

En el programa anterior, el paréntesis ( )está vacío. Es decir, esta función no acepta ningún argumento. Aprenderá acerca de los argumentos más adelante en este artículo.

Los códigos dentro de llaves ( )son el cuerpo de la función.

¿Cómo llamar a una función?

Tienes que llamar a la función para ejecutar códigos dentro del cuerpo de la función. Así es cómo:

 Llámame()

Esta declaración llama a la callMe()función declarada anteriormente.

Ejemplo: programa de función simple

 fun callMe() ( println("Printing from callMe() function.") println("This is cool (still printing from inside).") ) fun main(args: Array) ( callMe() println("Printing outside from callMe() function.") )

Cuando ejecute el programa, la salida será:

Impresión desde la función callMe (). Esto es genial (todavía se imprime desde adentro). Imprimir fuera de la función callMe ().

La callMe()función en el código anterior no acepta ningún argumento.

Además, la función no devuelve ningún valor (el tipo de retorno es Unit).

Tomemos otro ejemplo de función. Esta función aceptará argumentos y también devolverá un valor.

Ejemplo: sumar dos números usando la función

 fun addNumbers(n1: Double, n2: Double): Int ( val sum = n1 + n2 val sumInteger = sum.toInt() return sumInteger ) fun main(args: Array) ( val number1 = 12.2 val number2 = 3.4 val result: Int result = addNumbers(number1, number2) println("result = $result") )

Cuando ejecute el programa, la salida será:

 resultado = 15

¿Cómo funcionan las funciones con argumentos y valor de retorno?

Aquí, dos argumentos número1 y número2 de tipo Doublese pasan a la addNumbers()función durante la llamada a la función. Estos argumentos se denominan argumentos reales.

 resultado = addNumbers (número1, número2)

Los parámetros n1 y n2 aceptan los argumentos pasados ​​(en la definición de la función). Estos argumentos se denominan argumentos formales (o parámetros).

In Kotlin, arguments are separated using commas. Also, the type of the formal argument must be explicitly typed.

Note that, the data type of actual and formal arguments should match, i.e., the data type of first actual argument should match the type of first formal argument. Similarly, the type of second actual argument must match the type of second formal argument and so on.

Here,

 return sumInteger

is the return statement. This code terminates the addNumbers() function, and control of the program jumps to the main() function.

In the program, sumInteger is returned from addNumbers() function. This value is assigned to the variable result.

Notice,

  • both sumInteger and result are of type Int.
  • the return type of the function is specified in the function definition.
     // return type is Int fun addNumbers(n1: Double, n2: Double): Int (… )

If the function doesn't return any value, its return type is Unit. It is optional to specify the return type in the function definition if the return type is Unit.

Example: Display Name by Using Function

 fun main(args: Array) ( println(getName("John", "Doe")) ) fun getName(firstName: String, lastName: String): String = "$firstName $lastName"

When you run the program, the output will be:

 John Doe

Here, the getName() function takes two String arguments, and returns a String.

You can omit the curly braces ( ) of the function body and specify the body after = symbol if the function returns a single expression (like above example).

It is optional to explicitly declare the return type in such case because the return type can be inferred by the compiler. In the above example, you can replace

 fun getName (firstName: String, lastName: String): String = "$ firstName $ lastName"

con

 fun getName (firstName: String, lastName: String) = "$ firstName $ lastName" 

Esta es solo una breve introducción a las funciones de Kotlin. Artículos recomendados relacionados con funciones:

  • Funciones en línea de Kotlin
  • Funciones infijas de Kotlin
  • Alcance de la función de Kotlin
  • Argumentos predeterminados y con nombre de Kotlin
  • Recursión de Kotlin
  • Función recursiva de cola de Kotlin
  • Función de extensión de Kotlin
  • Lambdas y funciones de orden superior de Kotlin

Articulos interesantes...