Avatar ·

Como obter o enésimo caractere de uma string em Swift? Indexação de strings

Olá a todos! Acabei de começar a estudar Swift e me deparei com um problema que me parece muito estranho. Em outras linguagens de programação, como Python ou JavaScript, posso obter facilmente um caractere de uma string pelo índice, escrevendo algo como `str[5]`. Mas em Swift isso não funciona! Aqui está meu código: ```swift let myString = "Привет, мир!" let char = myString[5] // Erro: Cannot subscript a value of type 'String' with an argument of type 'Int' ``` Estou recebendo um erro de compilação. Por que Swift não permite simplesmente acessar um caractere pelo índice, como é feito em outras linguagens? Ouvi algo sobre `String.Index`, mas não entendo como isso funciona na prática. Preciso escrever uma função que recebe uma string e um número inteiro n e retorna o enésimo caractere dessa string (começando em 0). Como fazer isso corretamente em Swift? Por favor, explique detalhadamente, com exemplos. Quero entender não apenas "como", mas também "por que" em Swift isso é feito dessa forma. Desde já, agradeço pela ajuda! <<>>

Pro