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.namees el nombre del parámetro yStringes 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 deayb.
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ámetrogreetingtiene 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: 15Explicación:
numbers: Int...: El parámetronumberspuede 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: 11Explicación:
inout: Indica que el parámetrovaluepuede 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.0Ejercicio 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.0Conclusió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
