Input con ReadLine
Fa parte della sezione Fondamenti del percorso Swift di Coddy. Lezione 33 di 86.
Finora, i tuoi programmi hanno usato valori codificati direttamente. Per rendere interattivi i programmi, devi accettare input dall’utente. In Swift, la funzione readLine() legge una riga di testo dallo standard input.
let input = readLine()
print(input)C'è un dettaglio importante qui: readLine() restituisce una Stringa opzionale (String?), non una stringa normale. Questo perché potrebbe non esserci più alcun input da leggere e, in tal caso, readLine() restituisce nil. Per una riga vuota restituisce la stringa vuota "", non nil. Dovrai scartare l'opzionalità in modo sicuro prima di usare il valore:
if let name = readLine() {
print("Hello, \(name)!")
}Usare if let garantisce che tu lavori con l'input solo quando readLine() ha restituito un valore invece di nil. Questo schema per leggere l'input e scartare in sicurezza il wrapping è qualcosa che userai spesso quando creerai programmi interattivi.
Sfida
FacileScrivi una funzione greetUser che accetta name e restituisce un messaggio di saluto personalizzato.
La funzione simula ciò che faresti dopo aver estratto in sicurezza l'input da readLine(). Dato un nome, crea e restituisci una stringa di saluto.
Parametri:
name(String): Il nome dell'utente
Restituisce: Un saluto nel formato: Hello, [name]!
Provalo tu
func greetUser(name: String) -> 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