Swift desde Cero. Las funciones en Swift y ejemplos de su uso

- Andrés Cruz

In english

Hasta ahora hemos tocado varios puntos importantes que debes conocer antes de aventurarte al uso de las funciones, ya que las funciones estructuralmente están compuestas de todos los elementos que vimos anteriormente:

Las funciones son piezas de código que hacen algo, una tarea en particular; a diferencia de Kotlin, en donde definimos una función con la palabra reservada fun en Swift creamos una función con func; es decir, le colocamos una 'c' más a nuestra palabra reservada que hace mención a la definición de una función en Swift:

func hola_mundo() {

}

Como ves, en las líneas anteriores definimos nuestra primera función en Switf, en donde el cuerpo de la función se encuentra definida por el contenido que engloba las llaves {} que en este ejemplo es una simple impresión; para llamar o ejecutar a la función debemos de hacer la siguiente operación:

hola_mundo() 

Aunque para nuestro ejemplo, que es realmente poco emocionante no hace nada, en la cónsola no veras ninguna respuesta que provenga de esta función debido a que de momento es una función que no tiene definida nada en su cuerpo o estructura.

Pase de parámetros en las funciones en Swift

El formato anterior es lo más simple que podemos hacer para ejecutar una función, la misma también puede recibir lo que se conoce como parámetros que en esencia es una definición de una variable indicando el tipo de dato:

func hola_mundo(name:String) {

}

Y desde la invocación:

hola_mundo("Mi primera función con Swift");

Pero si hacemos esto nos dará un error como podemos ver en la siguiente imagen:

Error al invocar función Swift

Ya que tenemos que especificar lo que sería el label antes de colocar nuestro valor, es decir, el nombre del parámetro de la función:

func hola_mundo(name:String) {
    print(name)
}

hola_mundo(name:"Mi primera función con Swift");

Esto es una diferencia importante que tiene Swift con Kotlin, ya que en este último especificar el label o nombre del parámetro de una función es completamente opcional.

Además de esto, vamos a agregar una impresión por consola para ver nuestro mensaje:

Ejecutar función y respuesta por consola

Valores por defectos para los parámetros de las funciones

También podemos establecer lo que sería valores por defectos en los parámetros de las funciones; para ello empleamos la siguiente sintaxis:

func hola_mundo(name:String = "Andres") {
    print(name)
}

hola_mundo()

Como puedes ver, ahora el pase de parámetros es opcional:

Pase de parámetro opcional en Swift

Y vamos a ir un poco más allá y vamos a concatenar un texto completo en nuestra impresión:

Pase de parámetro opcional en Swift y concatenación

También recuerda que podemos interpolar los textos, como explicamos en la entrada anterior de Swift:

func hola_mundo(name:String = "Andres") {
    print("Hola \(name) como estas?")
}

hola_mundo()

Valores de retorno de las funciones: sumar dos números en swift

Por supuesto, como toda función en Swift podemos indicar un valor de retorno, para eso empleamos la función de flecha seguido del tipo de dato a retornar; y por supuesto, el típico return con el valor devuelto:

Hola mundo con interpolación de textos
func suma(a:Int, b:Int = 5) -> Int {
    return a + b
}

let a = 4
let b = 4

suma(a:a,b:b)
Suma de parámetros en función

En nuestra función de suma de dos valores, vemos el siguiente resultado:

Y para mostrar un ejemplo un poco más completo, te presentamos la misma función anterior pero con interpolación de String o cadenas de texto:

func suma(a:Int, b:Int = 5) -> Int {
    return a + b
}

let a = 4
let b = 4

print(" Suma de \(a) + \(b) = \()");
Suma de parámetros en función e interpolación
Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz En Udemy

Acepto recibir anuncios de interes sobre este Blog.

!Cursos desde!

10$

En Udemy

Quedan 3d 15:33!


Udemy

!Cursos desde!

4$

En Academia

Ver los cursos

!Libros desde!

1$

Ver los libros
¡Hazte afiliado en Gumroad!