0Pricing
Swift Academy · Lección

Valores predeterminados en parámetros de funciones

Asigne valores predeterminados a los parámetros para simplificar las llamadas.

Valores predeterminados en parámetros de funciones es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Swift Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Swift Academy incluye 4 lecciones en total.

Qué son los parámetros predeterminados

Un parámetro de función puede tener un valor predeterminado. Quien realice la llamada puede omitir ese argumento y Swift completa el valor predeterminado automáticamente.

func greet(name: String = "Guest") {
    print("Hello, \(name)")
}
greet()
greet(name: "Ada")

Declaración de un valor predeterminado

Se asigna un valor predeterminado después del tipo del parámetro mediante =. El valor predeterminado solo se usa cuando quien realiza la llamada no proporciona ese argumento.

func power(base: Int, exponent: Int = 2) -> Int {
    var result = 1
    for _ in 0..<exponent { result *= base }
    return result
}
print(power(base: 5))
print(power(base: 5, exponent: 3))

Varios valores predeterminados

Puede proporcionar valores predeterminados para varios parámetros. Quien realice la llamada solo debe sobrescribir los que necesite.

func makeBox(width: Int = 1, height: Int = 1) -> Int {
    return width * height
}
print(makeBox())
print(makeBox(width: 4))

Combinación de parámetros obligatorios y predeterminados

Los parámetros obligatorios no tienen valor predeterminado; los predeterminados sí. Coloque primero los obligatorios para que quien realice la llamada pueda omitir correctamente los valores predeterminados finales.

func send(message: String, urgent: Bool = false) {
    print("\(urgent ? "URGENT: " : "")\(message)")
}
send(message: "Hi")
send(message: "Fire!", urgent: true)

Los valores predeterminados reducen las sobrecargas

Antes de los parámetros predeterminados, podría escribir varias funciones sobrecargadas. Una función con valores predeterminados las sustituye a todas.

func connect(host: String, port: Int = 80) {
    print("\(host):\(port)")
}
connect(host: "example.com")
connect(host: "example.com", port: 8080)

Sobrescritura de cualquier subconjunto

Puede sobrescribir un valor predeterminado y conservar los demás, siempre que use etiquetas de argumentos para ser explícito.

func style(size: Int = 12, bold: Bool = false, italic: Bool = false) {
    print("\(size) bold:\(bold) italic:\(italic)")
}
style(bold: true)

Los valores predeterminados pueden ser expresiones

Un valor predeterminado puede ser cualquier expresión del tipo adecuado, que se evalúa cuando se omite el argumento.

func now(stamp: Int = 1000 + 1) {
    print(stamp)
}
now()
now(stamp: 5)

Valor predeterminado de un opcional

Un patrón habitual consiste en que un parámetro opcional tenga nil como valor predeterminado, lo que permite omitirlo por completo.

func log(_ text: String, tag: String? = nil) {
    print("[\(tag ?? "general")] \(text)")
}
log("Started")
log("Saved", tag: "db")

Combinación con la coalescencia de nil

Los parámetros predeterminados y ?? funcionan bien juntos: acepte un opcional y después aplique la coalescencia dentro del cuerpo.

func price(amount: Int? = nil) -> Int {
    return amount ?? 10
}
print(price())
print(price(amount: 25))

Valores predeterminados en inicializadores

La misma característica funciona en los inicializadores de estructuras, lo que permite crear objetos con valores predeterminados adecuados.

struct Settings {
    var volume: Int
    init(volume: Int = 50) {
        self.volume = volume
    }
}
print(Settings().volume)
print(Settings(volume: 80).volume)

Ventaja de legibilidad

Los parámetros predeterminados acortan los sitios de llamada y comunican el caso habitual, sin dejar de permitir un control total cuando sea necesario.

func repeatText(_ text: String, times: Int = 1) {
    for _ in 0..<times { print(text) }
}
repeatText("Hi")
repeatText("Yo", times: 2)

Comprobación rápida

Pruebe los parámetros predeterminados.

Resumen: valores predeterminados en parámetros de función

Los valores predeterminados de los parámetros permiten omitir argumentos en las llamadas. Declárelos con = después del tipo, combínelos con parámetros obligatorios y úselos junto con ?? o con opcionales para crear API flexibles.

func tax(amount: Int, rate: Int = 10) -> Int {
    return amount + amount * rate / 100
}
print(tax(amount: 100))

Preguntas frecuentes

¿La lección «Valores predeterminados en parámetros de funciones» es gratis?

Sí — el texto completo de «Valores predeterminados en parámetros de funciones» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Swift Academy, actualiza a CoddyKit PRO. El curso de Swift Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Valores predeterminados en parámetros de funciones»?

Asigne valores predeterminados a los parámetros para simplificar las llamadas. Practicas Swift Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Swift Academy?

No se requiere experiencia previa. Swift Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Valores predeterminados en parámetros de funciones»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Swift Academy?

Sí. Cada lección de Swift Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. El operador de coalescencia de nil
  2. Encadenamiento de valores predeterminados
  3. Valores predeterminados en parámetros de funciones
  4. Subíndices predeterminados de diccionarios
← Volver a Swift Academy