En Swift, las funciones son bloques de código reutilizables que realizan una tarea específica. Una función puede tomar uno o más parámetros de entrada, realizar alguna operación y devolver un resultado. La sintaxis para declarar una función en Swift es sencilla y flexible, permitiendo desde funciones simples hasta avanzadas con parámetros predeterminados y funciones anidadas.
La sintaxis básica de una función en Swift incluye la palabra clave func
, seguida del nombre de la función, los parámetros entre paréntesis y el tipo de retorno si lo hay.
func nombreDeLaFuncion(parametro1: Tipo, parametro2: Tipo) -> TipoDeRetorno {
// Código de la función
return valor
}
func saludar() {
print("¡Hola, Mundo!")
}
En este caso, la función saludar
no recibe parámetros ni devuelve un valor. Simplemente imprime un mensaje.
func saludar(nombre: String) {
print("¡Hola, \(nombre)!")
}
saludar(nombre: "Ana")
En este ejemplo, la función saludar(nombre:)
recibe un parámetro de tipo String
y lo utiliza dentro de su código para personalizar el saludo.
Salida:
¡Hola, Ana!
Las funciones también pueden devolver un valor después de realizar una tarea.
func sumar(a: Int, b: Int) -> Int {
return a + b
}
let resultado = sumar(a: 5, b: 3)
print("La suma es \(resultado)")
Aquí, la función sumar
toma dos parámetros Int
y devuelve la suma de ellos. El tipo de retorno es especificado después de la flecha (->
).
Salida:
La suma es 8
Swift permite definir valores predeterminados para los parámetros de una función. Si no se proporciona un valor para el parámetro al llamar la función, se utilizará el valor predeterminado.
func saludar(nombre: String = "Amigo") {
print("¡Hola, \(nombre)!")
}
saludar() // Usa el valor predeterminado
saludar(nombre: "Luis")
Salida:
¡Hola, Amigo!
¡Hola, Luis!
Swift permite que una función devuelva múltiples valores usando tuplas.
func calcularMayorMenor(a: Int, b: Int) -> (mayor: Int, menor: Int) {
if a > b {
return (mayor: a, menor: b)
} else {
return (mayor: b, menor: a)
}
}
let resultado = calcularMayorMenor(a: 8, b: 3)
print("Mayor: \(resultado.mayor), Menor: \(resultado.menor)")
Aquí, la función devuelve una tupla que contiene dos valores: mayor
y menor
.
Salida:
Mayor: 8, Menor: 3
Swift también permite definir funciones dentro de otras funciones. Las funciones anidadas pueden ser útiles para encapsular lógica que solo se utiliza dentro de otra función.
func operacionesConNumeros(a: Int, b: Int) -> Int {
func sumar() -> Int {
return a + b
}
return sumar()
}
let resultado = operacionesConNumeros(a: 4, b: 6)
print("Resultado: \(resultado)")
En este ejemplo, la función sumar
está definida dentro de operacionesConNumeros
y solo puede ser utilizada dentro de esta.
Las funciones en Swift son versátiles y fáciles de usar, permitiendo desde operaciones simples hasta el manejo de lógica compleja. Además de sus características básicas, como parámetros y valores de retorno, Swift ofrece opciones avanzadas como parámetros predeterminados, tuplas para múltiples retornos y funciones anidadas.
Para más información sobre funciones en Swift, visita la documentación oficial de Swift.
Jorge García
Fullstack developer