Junior
Cum se poate itera peste un șir de caractere în limbajul de programare Swift?
sobes.tech AI
Răspuns de la AI
Iterarea peste un șir în Swift poate fi realizată în mai multe moduri:
-
Pe caractere (Characters):
let myString = "Hello" for character in myString { // Procesarea unui caracter individual print(character) } -
Pe scalarilor Unicode (Unicode Scalars):
let myString = "Hello" for scalar in myString.unicodeScalars { // Procesarea scalarului Unicode print(scalar) } -
Pe vizualizările UTF-8 (UTF8View):
let myString = "Hello" for utf8CodeUnit in myString.utf8 { // Procesarea unității de cod UTF-8 print(utf8CodeUnit) } -
Pe vizualizările UTF-16 (UTF16View):
let myString = "Hello" for utf16CodeUnit in myString.utf16 { // Procesarea unității de cod UTF-16 print(utf16CodeUnit) } -
Pe indici (prin
String.Index): Această metodă este mai complexă deoarece caracterele pot avea lungimi diferite în memorie.let myString = "Hello" var currentIndex = myString.startIndex while currentIndex != myString.endIndex { let character = myString[currentIndex] // Procesarea caracterului după index print(character) currentIndex = myString.index(after: currentIndex) }
Alegerea metodei depinde de sarcină:
for character in myString: Iterare pe clustere grafice (caractere) - cel mai frecvent caz.unicodeScalarsși vizualizările UTF: Folosite pentru a lucra cu reprezentarea de nivel inferior a șirului în Unicode.- Iterarea după indici: Este necesară atunci când doriți să obțineți un caracter sau un subșir la un index specific sau să lucrați cu intervale.