Junior
Jak można iterować po ciągu znaków w języku programowania Swift?
sobes.tech AI
Odpowiedź od AI
Iterowanie po ciągu znaków w Swift można wykonać na kilka sposobów:
-
Po znakach (Characters):
let myString = "Hello" for character in myString { // Przetwarzanie pojedynczego znaku print(character) } -
Po skalarnych Unicode (Unicode Scalars):
let myString = "Hello" for scalar in myString.unicodeScalars { // Przetwarzanie skalaru Unicode print(scalar) } -
Po widokach UTF-8 (UTF8View):
let myString = "Hello" for utf8CodeUnit in myString.utf8 { // Przetwarzanie jednostki kodu UTF-8 print(utf8CodeUnit) } -
Po widokach UTF-16 (UTF16View):
let myString = "Hello" for utf16CodeUnit in myString.utf16 { // Przetwarzanie jednostki kodu UTF-16 print(utf16CodeUnit) } -
Po indeksach (za pomocą
String.Index): Ta metoda jest bardziej skomplikowana, ponieważ znaki mogą mieć różne długości w pamięci.let myString = "Hello" var currentIndex = myString.startIndex while currentIndex != myString.endIndex { let character = myString[currentIndex] // Przetwarzanie znaku po indeksie print(character) currentIndex = myString.index(after: currentIndex) }
Wybór metody zależy od zadania:
for character in myString: Iteracja po klastrach graficznych (znakach) — najczęstszy przypadek.unicodeScalarsi widoki UTF: Używane do pracy z niskopoziomową reprezentacją ciągu w Unicode.- Iteracja po indeksach: Wymagana, gdy trzeba uzyskać znak lub podłańcuch po konkretnym indeksie lub pracować z zakresami.