En Swift, las funciones son bloques de código reutilizables que realizan una tarea específica. Las funciones pueden aceptar parámetros y devolver valores. En esta sección, aprenderemos cómo definir y utilizar parámetros de función y valores de retorno.
Definición de Funciones con Parámetros
Los parámetros permiten que las funciones reciban datos de entrada. Aquí hay un ejemplo básico de una función con parámetros:
Explicación:
func
: Palabra clave para definir una función.greet
: Nombre de la función.(name: String)
: Parámetro de la función.name
es el nombre del parámetro yString
es su tipo.print("Hello, \\(name)!")
: Cuerpo de la función que imprime un saludo.
Llamada a la Función con Parámetros
Para llamar a una función con parámetros, simplemente pasamos los valores correspondientes:
Valores de Retorno
Las funciones pueden devolver valores utilizando la palabra clave return
. Aquí hay un ejemplo de una función que devuelve un valor:
Explicación:
-> Int
: Indica que la función devuelve un valor de tipoInt
.return a + b
: Devuelve la suma dea
yb
.
Llamada a la Función con Valores de Retorno
Para utilizar el valor devuelto por una función, podemos asignarlo a una variable:
Parámetros con Valores Predeterminados
Swift permite definir valores predeterminados para los parámetros. Esto es útil cuando queremos que algunos parámetros sean opcionales:
func greet(name: String, greeting: String = "Hello") { print("\(greeting), \(name)!") } greet(name: "Bob") // Output: Hello, Bob! greet(name: "Bob", greeting: "Hi") // Output: Hi, Bob!
Explicación:
greeting: String = "Hello"
: El parámetrogreeting
tiene un valor predeterminado de"Hello"
.
Parámetros Variádicos
Los parámetros variádicos permiten pasar un número variable de argumentos a una función:
func sum(numbers: Int...) -> Int { var total = 0 for number in numbers { total += number } return total } let totalSum = sum(numbers: 1, 2, 3, 4, 5) print(totalSum) // Output: 15
Explicación:
numbers: Int...
: El parámetronumbers
puede aceptar cero o más valores de tipoInt
.
Parámetros In-Out
Los parámetros in-out permiten que una función modifique el valor de un parámetro. Se utilizan con la palabra clave inout
:
func increment(value: inout Int) { value += 1 } var number = 10 increment(value: &number) print(number) // Output: 11
Explicación:
inout
: Indica que el parámetrovalue
puede ser modificado por la función.&number
: El símbolo&
se utiliza para pasar el argumento como in-out.
Ejercicios Prácticos
Ejercicio 1: Función con Parámetros y Valor de Retorno
Escribe una función llamada multiply
que acepte dos parámetros de tipo Double
y devuelva su producto.
func multiply(a: Double, b: Double) -> Double { return a * b } // Prueba tu función let result = multiply(a: 3.5, b: 2.0) print(result) // Output: 7.0
Ejercicio 2: Función con Parámetros Predeterminados
Escribe una función llamada greetUser
que acepte un parámetro name
de tipo String
y un parámetro opcional greeting
de tipo String
con un valor predeterminado de "Welcome"
.
func greetUser(name: String, greeting: String = "Welcome") { print("\(greeting), \(name)!") } // Prueba tu función greetUser(name: "Charlie") // Output: Welcome, Charlie! greetUser(name: "Charlie", greeting: "Hello") // Output: Hello, Charlie!
Ejercicio 3: Función con Parámetros Variádicos
Escribe una función llamada average
que acepte un número variable de parámetros de tipo Double
y devuelva su promedio.
func average(numbers: Double...) -> Double { let total = numbers.reduce(0, +) return total / Double(numbers.count) } // Prueba tu función let avg = average(numbers: 1.0, 2.0, 3.0, 4.0, 5.0) print(avg) // Output: 3.0
Conclusión
En esta sección, hemos aprendido cómo definir y utilizar parámetros de función y valores de retorno en Swift. Hemos cubierto:
- Definición de funciones con parámetros.
- Uso de valores de retorno.
- Parámetros con valores predeterminados.
- Parámetros variádicos.
- Parámetros in-out.
Estos conceptos son fundamentales para escribir funciones flexibles y reutilizables en Swift. En la próxima sección, exploraremos los closures, una característica poderosa y versátil del lenguaje Swift.
Curso de Programación en Swift
Módulo 1: Introducción a Swift
- Introducción a Swift
- Configuración del Entorno de Desarrollo
- Tu Primer Programa en Swift
- Sintaxis y Estructura Básica
- Variables y Constantes
- Tipos de Datos
Módulo 2: Control de Flujo
Módulo 3: Funciones y Closures
- Definición y Llamada de Funciones
- Parámetros de Función y Valores de Retorno
- Closures
- Funciones de Orden Superior
Módulo 4: Programación Orientada a Objetos
Módulo 5: Swift Avanzado
Módulo 6: Swift y Desarrollo de iOS
- Introducción al Desarrollo de iOS
- Fundamentos de UIKit
- Storyboards y Interface Builder
- Redes en Swift
- Core Data
- Fundamentos de SwiftUI