0Pricing
Swift Academy · Lezione

Parametri predefiniti e variadici

Imposti valori predefiniti e accetti un numero variabile di argomenti.

Parametri predefiniti e variadici è una lezione Swift Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Swift Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Swift Academy include 4 lezioni in totale.

Benvenuto

I valori predefiniti dei parametri permettono al chiamante di omettere gli argomenti che non deve personalizzare. I parametri variadici accettano un numero qualsiasi di argomenti. Entrambi riducono il codice ripetitivo e migliorano le API.

Valori predefiniti dei parametri

```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 ``` I valori predefiniti devono essere posizionati dopo i parametri obbligatori.

Più valori predefiniti

```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) ``` Il chiamante può sostituire qualsiasi sottoinsieme dei parametri con valore predefinito.

Parametri variadici

Un parametro variadico accetta zero o più valori dello stesso tipo: ```swift func sum(_ numbers: Int...) -> Int { numbers.reduce(0, +) } print(sum(1, 2, 3)) // 6 print(sum(10, 20, 30, 40)) // 100 ``` All'interno della funzione, `numbers` è un array `[Int]`.

Un solo parametro variadico per funzione

Swift consente un solo parametro variadico per funzione (non deve necessariamente essere l'ultimo a partire da 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 } ```

Combinare valori predefiniti e parametri variadici

```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" ```

Passare un array a un parametro variadico

Non è possibile passare direttamente un array a un parametro variadico: ```swift let nums = [1, 2, 3] // sum(nums) ❌ — won't compile ``` Espanda con `...` (l'espansione di sequenze con `...` non è integrata in Swift 5.4+; usi personalmente `reduce`/lo spreading): ```swift let total = nums.reduce(0, +) ```

Closure predefinite

I valori predefiniti funzionano anche per i parametri closure: ```swift func retry(count: Int = 3, action: () -> Bool) {} retry { fetchData() } // count defaults to 3 retry(count: 5) { fetchData() } ``` La sintassi della closure finale si applica comunque quando si usano valori predefiniti.

Documentare i valori predefiniti

Commenti o nomini chiaramente i valori predefiniti, così il chiamante sa cosa aspettarsi: ```swift /// Sends a request. Timeout defaults to 30 seconds. func send(request: URLRequest, timeout: TimeInterval = 30.0) {} ``` Una buona documentazione evita che il chiamante specifichi esplicitamente il valore predefinito.

Pattern reale: API simili a print

La `print` standard di Swift è a sua volta variadica e usa valori predefiniti: ```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: "") ```

Verifica rapida

All'interno di una funzione, quale tipo ha un parametro variadico `Int...`?

Riepilogo

Punti chiave: • I valori predefiniti rendono i parametri facoltativi nel punto di chiamata • I valori predefiniti devono seguire i parametri obbligatori • I parametri variadici (`Type...`) accettano zero o più valori e diventano un array all'interno della funzione • È consentito un solo parametro variadico per funzione • Combini entrambi per ottenere API flessibili e pulite Successivo: parametri inout e restituzione di più valori.

Domande Frequenti

La lezione «Parametri predefiniti e variadici» è gratuita?

Sì — il testo completo di «Parametri predefiniti e variadici» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Swift Academy, passa a CoddyKit PRO. Il corso Swift Academy include 4 lezioni in totale.

Cosa imparerò in «Parametri predefiniti e variadici»?

Imposti valori predefiniti e accetti un numero variabile di argomenti. Eserciti Swift Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Swift Academy?

Non è richiesta alcuna esperienza precedente. Swift Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Parametri predefiniti e variadici»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Swift Academy?

Sì. Ogni lezione Swift Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Etichette degli argomenti e nomi dei parametri
  2. Parametri predefiniti e variadici
  3. Parametri in-out e valori restituiti multipli
  4. Le funzioni come valori di prima classe
← Torna a Swift Academy