Inferencja na podstawie literałów
Kontrolowanie, czy literał zostanie zinterpretowany jako Int czy Double.
Inferencja na podstawie literałów to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Swift Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Swift Academy zawiera 4 lekcji w sumie.
Domyślne typy literałów
Każdy rodzaj literału ma domyślny wywnioskowany typ: liczby całkowite stają się Int, liczby zmiennoprzecinkowe — Double, tekst — String, a wartości true/false — Bool.
let i = 5
let d = 5.0
let s = "5"
let b = true
print(type(of: i), type(of: d), type(of: s), type(of: b))let x = 5 to Int
Literał całkowitoliczbowy bez kropki dziesiętnej jest zawsze interpretowany jako Int, czyli domyślny typ liczb całkowity na platformie.
let x = 5
print(type(of: x))
print(x + 1)let y: Double = 5
Adnotacja Double sprawia, że ten sam literał 5 staje się wartością zmiennoprzecinkową.
let y: Double = 5
print(type(of: y))
print(y / 2)Kropka dziesiętna wymusza Double
Zapis 5.0 powoduje wywnioskowanie typu Double bez potrzeby dodawania adnotacji.
let z = 5.0
print(type(of: z))
print(z * 2)Int i Double nie łączą się automatycznie
Swift nie konwertuje niejawnie typów liczbowych. Aby połączyć Int i Double, trzeba wykonać jawną konwersję.
let count = 3
let price = 1.5
let total = Double(count) * price
print(total)Float a Double
Domyślnym typem liczb dziesiętnych jest Double. Należy użyć adnotacji Float, gdy potrzebny jest konkretnie mniejszy typ 32-bitowy.
let big = 3.14
let small: Float = 3.14
print(type(of: big), type(of: small))Adnotacje typów całkowitoliczbowych
Adnotacja pozwala wybrać typ całkowitoliczbowy o określonym rozmiarze, taki jak Int8 lub UInt, zamiast domyślnego Int.
let tiny: Int8 = 120
let unsigned: UInt = 9
print(type(of: tiny), type(of: unsigned))String a Character
Literał ujęty w podwójny cudzysłów jest interpretowany jako String. W kontekście pojedynczego znaku adnotacja może wskazać typ Character.
let word = "Swift"
let letter: Character = "S"
print(type(of: word), type(of: letter))Literały logiczne
Słowa kluczowe true i false są interpretowane jako Bool.
let isReady = false
print(type(of: isReady))Literały w wyrażeniach
Gdy w jednym wyrażeniu występują różne literały, Swift wybiera wspólny typ. Wyrażenie 1 + 2.0 traktuje literał całkowitoliczbowy jako Double.
let mixed = 1 + 2.0
print(mixed)
print(type(of: mixed))Adnotacja dostosowuje literał
Sam literał jest elastyczny, a adnotacja określa jego ostateczny typ. Dlatego let y: Double = 5 działa bez zapisywania 5.0.
let a: Double = 7
let b: Float = 7
print(a, b)Szybkie sprawdzenie
Przetestuj wnioskowanie typów literałów.
Podsumowanie
Literały całkowitoliczbowe mają domyślnie typ Int, a dziesiętne — Double. Adnotacje, takie jak : Double, : Float, : Int8 czy : Character, zastępują wartość domyślną, dostosowując elastyczny literał. Typy liczbowe nigdy nie są konwertowane niejawnie.
let i = 5
let d: Double = 5
print(type(of: i), type(of: d))Ucz się Swift dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 122
- Lekcje
- 409
Często zadawane pytania
Czy lekcja „Inferencja na podstawie literałów” jest bezpłatna?
Tak — pełny tekst „Inferencja na podstawie literałów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Swift Academy, przejdź na CoddyKit PRO. Kurs Swift Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Inferencja na podstawie literałów”?
Kontrolowanie, czy literał zostanie zinterpretowany jako Int czy Double. Ćwiczysz Swift Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Swift Academy?
Nie wymagamy żadnego doświadczenia. Swift Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Inferencja na podstawie literałów”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Swift Academy?
Tak. Każda lekcja Swift Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Jak działa inferencja typów
- Kiedy dodawać jawne adnotacje
- Inferencja na podstawie literałów
- Inferencja w domknięciach