Funciones en Swift con parámetros y return

Resumen

Las funciones en Swift son bloques de código reutilizables que ejecutas cada vez que los necesitas, evitando repetir lógica y manteniendo tu programa organizado. Si estás aprendiendo a programar en Swift, dominar funciones es uno de los pasos que más rendimiento te dará desde el inicio.

A lo largo de la clase verás cómo declarar funciones simples, agregar parámetros y devolver valores con return, todo dentro de un playground de Xcode.

¿Cómo se declara una función en Swift?

La anatomía básica de una función en Swift parte de la palabra clave func, seguida del nombre, los paréntesis y unas llaves que encierran el código que se ejecutará.

Un primer ejemplo, mostrado alrededor de [1:05], se ve así:

swift func saludar() { print("Hola, mundo") }

Si corres el playground sin más, no pasa nada. Y aquí viene lo interesante: el código dentro de una función está encapsulado y solo corre cuando tú la llamas. Para invocarla escribes su nombre con paréntesis:

swift saludar()

Ahora sí, en consola aparece Hola, mundo. Cada vez que llames saludar(), esa línea se ejecuta sin que tengas que reescribirla.

¿Qué es una función en Swift? Es un bloque de código con nombre que agrupa instrucciones reutilizables. Lo declaras con func, lo encierras en llaves y lo ejecutas llamándolo con paréntesis.

¿Cómo paso parámetros a una función?

Las funciones se vuelven realmente útiles cuando reciben datos de entrada. Para eso usas parámetros dentro de los paréntesis, indicando su nombre y tipo.

En [2:30] aparece un ejemplo claro:

swift func saludarAAlguien(nombre: String) { print("Hola (nombre)") }

saludarAAlguien(nombre: "Tiago") saludarAAlguien(nombre: "María") saludarAAlguien(nombre: "Juan")

Fíjate en dos detalles. El primero es la concatenación con \(nombre), que inserta el valor de la variable dentro del string. El segundo es la convención camelCase: saludarAAlguien usa mayúsculas internas para que el nombre sea fácil de leer.

El parámetro nombre solo existe dentro de las llaves de la función. Si intentas imprimirlo fuera, Xcode te marcará error porque está fuera del alcance, lo que en programación se conoce como scope.

¿Cómo hago que una función devuelva un valor?

Una función no solo ejecuta código, también puede entregarte un resultado para que lo uses después. Para eso utilizas la flecha -> seguida del tipo de dato que retorna.

El ejemplo de [4:20] calcula un promedio con tres números de tipo Double:

swift func calcularPromedio(n1: Double, n2: Double, n3: Double) -> Double { let suma = n1 + n2 + n3 let promedio = suma / 3 return promedio }

var promedio = calcularPromedio(n1: 10, n2: 20, n3: 30)

Al correr el playground, la variable promedio guarda el valor 20. La palabra return es la que devuelve el resultado y permite asignarlo a otra variable.

¿Cuál es la diferencia entre print y return? print solo imprime en consola, no devuelve nada. return entrega un valor que puedes asignar, operar o concatenar después.

Refactorizando un ejemplo real con funciones

En [6:15] se retoma un código de la clase anterior que evaluaba la nota de un estudiante con varios if y print. Al convertirlo en función, el código queda más limpio:

swift func obtenerNotaFinal(nota: Double) -> String { if nota < 2 { return "Te fue mal" } else if nota < 3 { return "Estuvo cerca" } else if nota < 4 { return "Puede ser mejor" } else { return "Felicidades" } }

obtenerNotaFinal(nota: 0) obtenerNotaFinal(nota: 3) obtenerNotaFinal(nota: 5)

Con cinco líneas evalúas múltiples casos sin duplicar lógica. Cada return corta la ejecución y entrega el string correspondiente.

¿Por qué conviene usar funciones desde el inicio?

Usar funciones te da tres ventajas concretas que verás reflejadas en cualquier proyecto Swift:

  • Reutilizas código sin repetirlo en distintos lugares.
  • Organizas la lógica en bloques con nombres descriptivos.
  • Aíslas variables dentro del scope de la función, evitando conflictos.

Las funciones pueden ser tan simples como ejecutar una acción o tan completas como recibir varios parámetros y retornar un cálculo listo para usarse. Ese rango es lo que las convierte en una herramienta central de Swift.

¿Cómo planeas aplicar funciones en tu próximo playground? Cuéntame en los comentarios qué ejemplo quieres construir.