Valori predefiniti
Fa parte della sezione Fondamenti del percorso Swift di Coddy. Lezione 57 di 86.
A volte un parametro ha un valore che viene usato per la maggior parte del tempo. Invece di richiedere al chiamante di fornirlo ogni volta, puoi assegnare un valore predefinito a quel parametro.
Per impostare un valore predefinito, usa l'operatore di assegnazione (=) dopo il tipo del parametro:
func greet(name: String, greeting: String = "Hello") {
print("\(greeting), \(name)!")
}
greet(name: "Alice") // Risultato: Hello, Alice!
greet(name: "Bob", greeting: "Hi") // Risultato: Hi, Bob!Quando chiami la funzione, puoi omettere i parametri che hanno valori predefiniti. Swift userà automaticamente il valore predefinito. Ma se ti serve un valore diverso, puoi comunque specificarne uno esplicitamente.
I parametri con valori predefiniti dovrebbero essere posizionati alla fine dell’elenco dei parametri. In questo modo, le chiamate di funzione rimangono pulite e leggibili:
func calculatePrice(base: Double, taxRate: Double = 0.1) -> Double {
return base + (base * taxRate)
}
print(calculatePrice(base: 100)) // Salida: 110.0
print(calculatePrice(base: 100, taxRate: 0.2)) // Salida: 120.0I valori predefiniti rendono le tue funzioni più flessibili. Funzionano semplicemente nei casi comuni, consentendo comunque la personalizzazione quando necessario.
Sfida
FacileScrivi una funzione formatGreeting che accetta name, greeting e repeatCount e restituisce un messaggio di saluto formattato.
La funzione dovrebbe usare valori predefiniti per i parametri facoltativi:
greetingdovrebbe avere come valore predefinito"Hello"repeatCountdovrebbe avere come valore predefinito1
Crea una stringa che ripeta lo schema del saluto per il numero di volte specificato, separando le ripetizioni con spazi.
Parametri:
name(String): Il nome della persona (obbligatorio)greeting(String): La parola di saluto (valore predefinito:"Hello")repeatCount(Int): Il numero di volte in cui ripetere il saluto (valore predefinito:1)
Restituisce: Una stringa con lo schema del saluto ripetuto. Formato: "[greeting], [name]!" ripetuto repeatCount volte, separato da un singolo spazio (String)
Ad esempio, se name è "Alice", greeting è "Hi" e repeatCount è 2, la funzione restituisce "Hi, Alice! Hi, Alice!".
Se viene chiamata indicando solo name come "Bob" (usando i valori predefiniti), restituisce "Hello, Bob!".
Provalo tu
func formatGreeting(name: String, greeting: String, repeatCount: Int) -> String {
// Scrivi il codice qui
}
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori – Parte 1
Operatori aritmeticiOperatore moduloAssegnazione compostaRiepilogo - Matematica sempliceOperatori di confronto7I/O di base
Funzione printInterpolazione di stringheInput con ReadLineConversione di tipoRipasso - Fino a 120Ripasso - Vero o falso10Funzioni
Dichiarare una funzioneParametri e argomentiValori restituitiEtichette degli argomentiRiepilogo - Funzione SigmaRiepilogo - Funzione di validazioneValori predefiniti13Iterare sulle sequenze
Iterare sugli elementiIl metodo enumerateIterare sulle stringhe P1Iterare sulle stringhe P22Variabili
Let vs VarAnnotazioni di tipoNumeriStringaBooleanoConvenzioni di denominazioneRiepilogo - Inizializzare le variabili5Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 3Operatore ternario8Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire i dati11FizzBuzz con una variante
Panoramica del giocoLa funzione FizzBuzz3Valori opzionali
Cosa sono i valori opzionaliEstrazione del valore con if letGuard letOperatore di coalescenza nilRiepilogo - Estrazione sicura del valore6Decisioni
Istruzione ifIf - ElseRipasso - Calcolatrice sempliceIstruzione switchSwitch con intervalli9Cicli
Ciclo for-inCiclo whileCiclo repeat-whileBreakContinueRipasso - FattorialeIntervalli nei cicliCiclo annidatoRipasso - Input dinamicoEsercitati da solo: Playground Swift