0Pricing
Swift Academy · Lección

Parámetros predeterminados y variádicos

Establezca valores predeterminados y acepte un número variable de argumentos.

Parámetros predeterminados y variádicos es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 2 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.

Bienvenida

Los valores predeterminados de los parámetros permiten omitir los argumentos que no sea necesario personalizar. Los parámetros variádicos aceptan cualquier cantidad de argumentos. Ambos reducen el código repetitivo y mejoran las API.

Valores predeterminados de parámetros

```swift func log(_ message: String, level: String = "INFO") { print("[\(level)] \(message)") } log("Server started") // [INFO] Server started log("Disk full", level: "ERROR") // [ERROR] Disk full ``` Los valores predeterminados deben colocarse después de los parámetros obligatorios.

Varios valores predeterminados

```swift func connect(host: String, port: Int = 443, useTLS: Bool = true) {} connect(host: "api.example.com") connect(host: "api.example.com", port: 8080) connect(host: "api.example.com", port: 80, useTLS: false) ``` Los llamadores pueden reemplazar cualquier subconjunto de los parámetros con valores predeterminados.

Parámetros variádicos

Un parámetro variádico acepta cero o más valores del mismo tipo: ```swift func sum(_ numbers: Int...) -> Int { numbers.reduce(0, +) } print(sum(1, 2, 3)) // 6 print(sum(10, 20, 30, 40)) // 100 ``` Dentro de la función, `numbers` es un array `[Int]`.

Solo un parámetro variádico por función

Swift solo permite un parámetro variádico por función (no es necesario que sea el último desde Swift 5.4): ```swift func format(_ template: String, args: String...) -> String { var result = template for arg in args { result = result.replacingOccurrences(of: "%s", with: arg) } return result } ```

Combinar valores predeterminados y parámetros variádicos

```swift func build(separator: String = ", ", _ items: String...) -> String { items.joined(separator: separator) } build("apple", "banana", "cherry") // "apple, banana, cherry" build(separator: " | ", "one", "two", "three") // "one | two | three" ```

Pasar un array a un parámetro variádico

No puede pasar un array directamente a un parámetro variádico: ```swift let nums = [1, 2, 3] // sum(nums) ❌ — won't compile ``` Desempaquételo con `...` (la expansión de secuencias de Swift 5.4+ no está integrada; use reduce/expansión por su cuenta): ```swift let total = nums.reduce(0, +) ```

Closures predeterminados

Los valores predeterminados también funcionan con parámetros de tipo closure: ```swift func retry(count: Int = 3, action: () -> Bool) {} retry { fetchData() } // count defaults to 3 retry(count: 5) { fetchData() } ``` La sintaxis de closure final sigue aplicándose al usar valores predeterminados.

Documentar los valores predeterminados

Comente o indique claramente los valores predeterminados para que los llamadores sepan qué esperar: ```swift /// Sends a request. Timeout defaults to 30 seconds. func send(request: URLRequest, timeout: TimeInterval = 30.0) {} ``` Una buena documentación evita que los llamadores proporcionen explícitamente el valor predeterminado.

Patrón del mundo real: API similares a print

El `print` estándar de Swift también es variádico y tiene valores predeterminados: ```swift // Simplified signature: func print(_ items: Any..., separator: String = " ", terminator: String = "\n") print("a", "b", "c") // a b c print("x", "y", separator: "-") // x-y print("no newline", terminator: "") ```

Comprobación rápida

Dentro de una función, ¿qué tipo tiene un parámetro variádico `Int...`?

Repaso

Puntos clave: • Los valores predeterminados hacen que los parámetros sean opcionales en el sitio de llamada • Los valores predeterminados deben seguir a los parámetros obligatorios • Los parámetros variádicos (`Type...`) aceptan cero o más valores y se convierten en un array dentro de la función • Solo se permite un parámetro variádico por función • Combine ambos para crear API flexibles y limpias Siguiente: parámetros in-out y devolución de varios valores.

Preguntas frecuentes

¿La lección «Parámetros predeterminados y variádicos» es gratis?

Sí — el texto completo de «Parámetros predeterminados y variádicos» 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 «Parámetros predeterminados y variádicos»?

Establezca valores predeterminados y acepte un número variable de argumentos. 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 2 de 4.

¿Cuánto tiempo toma la lección «Parámetros predeterminados y variádicos»?

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. Etiquetas de argumentos y nombres de parámetros
  2. Parámetros predeterminados y variádicos
  3. Parámetros in-out y múltiples valores de retorno
  4. Funciones como valores de primera clase
← Volver a Swift Academy