Wejście ReadLine
Część sekcji Podstawy ścieżki Swift w Coddy. Lekcja 33 z 86.
Do tej pory Twoje programy korzystały z wartości wpisanych na stałe. Aby programy były interaktywne, musisz przyjmować dane wejściowe od użytkownika. W Swift funkcja readLine() odczytuje wiersz tekstu ze standardowego wejścia.
let input = readLine()
print(input)Jest tu ważny szczegół: readLine() zwraca opcjonalny String (String?), a nie zwykły String. Dzieje się tak, ponieważ może nie być już żadnych danych wejściowych do odczytania i w takim przypadku readLine() zwraca nil. Dla pustego wiersza zwraca pusty ciąg znaków "", a nie nil. Przed użyciem wartości trzeba ją bezpiecznie rozpakować:
if let name = readLine() {
print("Hello, \(name)!")
}Użycie if let gwarantuje, że pracujesz z danymi wejściowymi tylko wtedy, gdy readLine() zwróciło wartość inną niż nil. Ten sposób odczytywania danych wejściowych i bezpiecznego rozpakowywania wartości będzie często używany podczas tworzenia programów interaktywnych.
Wyzwanie
ŁatwyNapisz funkcję greetUser, która przyjmuje name i zwraca spersonalizowaną wiadomość powitalną.
Funkcja symuluje to, co należałoby zrobić po bezpiecznym rozpakowaniu danych wejściowych z readLine(). Na podstawie imienia utwórz i zwróć ciąg powitalny.
Parametry:
name(String): Imię użytkownika
Zwraca: Powitanie w formacie: Hello, [name]!
Spróbuj swoich sił
func greetUser(name: String) -> String {
// Wpisz tutaj kod
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneOperator moduloPrzypisanie złożonePodsumowanie — prosta matematykaOperatory porównania7Podstawowe wejście/wyjście
Funkcja printInterpolacja ciągów znakówWejście ReadLineKonwersja typówPowtórka – do 120Powtórka – prawda czy fałsz10Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneEtykiety argumentówPowtórka – funkcja SigmaPowtórka – funkcja walidującaWartości domyślne2Zmienne
let vs varAdnotacje typówLiczbyŁańcuch znakówWartość logicznaKonwencje nazewnictwaPodsumowanie – inicjalizacja zmiennych5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Powtórka – prosta logikaOperatory logiczne, część 3Operator trójargumentowy8Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych wejściowych11FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz3Typy opcjonalne
Czym są typy opcjonalneRozpakowywanie za pomocą if letGuard letOperator nil-coalescingPodsumowanie — bezpieczne rozpakowywanie6Podejmowanie decyzji
Instrukcja ifIf - ElsePowtórka – prosty kalkulatorInstrukcja switchSwitch z zakresami9Pętle
Pętla for-inPętla whilePętla repeat-whileInstrukcja breakInstrukcja continuePowtórzenie – silniaZakresy w pętlachPętla zagnieżdżonaPowtórzenie – dynamiczne dane wejściowePoćwicz samodzielnie: Edytor online Swift