0Pricing
Swift Academy · Lekcja

Ciągi znaków i Unicode — grafemy, indeksy, podciągi, API

Poznajcie ciągi znaków świadome Unicode: rozszerzone klastry grafemów, String.Index, podciągi, popularne API (prefix/suffix/contains, split/join) oraz wydajność copy-on-write.

Ciągi znaków i Unicode — grafemy, indeksy, podciągi, API to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 1 z 3. 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 3 lekcji w sumie.

Unicode i klastry grafemowe

Swiftowy typ String prawidłowo obsługuje Unicode. Jeden znak widoczny dla użytkownika może składać się z wielu skalarów (rozszerzonego klastra grafemowego).

  • Przykłady: emoji z odcieniami skóry, litery z akcentami
  • Liczenie uwzględnia znaki, a nie bajty

Liczenie znaków

count mierzy liczbę znaków (klastrów grafemowych), a nie bajtów.

let wave = "👋🏽"        // hand + skin tone modifier
let text = "Hi " + wave
print(text, "count =", text.count)  // counts visible characters

Indeksy i nawigacja

Proszę używać String.Index wraz z pomocniczymi elementami, takimi jak startIndex, index(after:) i index(_:offsetBy:).

let s = "Swift"
let firstIndex = s.startIndex
let secondIndex = s.index(after: firstIndex)
print(s[firstIndex], s[secondIndex])  // S w

Podciągi

Widoki typu Substring współdzielą pamięć z oryginalnym typem String. W przypadku długotrwałego przechowywania proszę konwertować je do typu String(left).

let phrase = "hello.world"
let dot = phrase.firstIndex(of: ".")!
let left = phrase[..<dot]        // Substring (shares storage)
let right = phrase[phrase.index(after: dot)...]  // Substring
print(left, right)

Często używane interfejsy API

Przydatne interfejsy API: hasPrefix, hasSuffix, contains oraz split/joined.

let path = "/usr/local/bin"
print(path.hasPrefix("/usr"))      // true
print(path.hasSuffix("bin"))       // true
print(path.contains("local"))      // true

let parts = path.split(separator: "/")   // [ "", "usr", "local", "bin" ] without first slash
let joined = parts.joined(separator: "-")
print(joined)

Wydajność (COW)

Wydajność: typy String i Substring używają mechanizmu copy‑on‑write. Kopie są tanie do momentu ich modyfikacji. W celu długotrwałego przechowywania proszę konwertować Substring do String.

Zasady indeksowania String

Szybkie sprawdzenie: Jaki jest prawidłowy sposób indeksowania typu String w Swift?

Podsumowanie

Podsumowanie: Typy String świadome Unicode używają klastrów grafemowych. Do nawigacji służy String.Index, wycinki mają typ Substring, a do typowych operacji służą popularne interfejsy API. Proszę pamiętać o wydajności mechanizmu COW.

Często zadawane pytania

Czy lekcja „Ciągi znaków i Unicode — grafemy, indeksy, podciągi, API” jest bezpłatna?

Tak — pełny tekst „Ciągi znaków i Unicode — grafemy, indeksy, podciągi, API” 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 3 lekcji w sumie.

Co nauczysz się w „Ciągi znaków i Unicode — grafemy, indeksy, podciągi, API”?

Poznajcie ciągi znaków świadome Unicode: rozszerzone klastry grafemów, String.Index, podciągi, popularne API (prefix/suffix/contains, split/join) oraz wydajność copy-on-write. Ć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 1 z 3.

Ile czasu zajmuje lekcja „Ciągi znaków i Unicode — grafemy, indeksy, podciągi, API”?

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. Ciągi znaków i Unicode — grafemy, indeksy, podciągi, API
  2. Popularne API — prefix/suffix/contains, split/join
  3. Uwagi dotyczące wydajności — copy-on-write
← Powrót do Swift Academy