Swift Academy · Lekcja

Inferencja na podstawie literałów

Kontrolowanie, czy literał zostanie zinterpretowany jako Int czy Double.

Lekcja 3 z 413 kroki

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))
Bezpłatny start

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

  1. Jak działa inferencja typów
  2. Kiedy dodawać jawne adnotacje
  3. Inferencja na podstawie literałów
  4. Inferencja w domknięciach
← Powrót do Swift Academy