Junior
O que representa o tipo de dado string na linguagem Golang?
sobes.tech IA
Resposta da IA
No Golang, string é uma sequência imutável de bytes.
Características principais:
- Imutabilidade: Após criar uma string, ela não pode ser alterada. Qualquer operação que modifique a string na verdade cria uma nova string.
- Representação: A string contém uma sequência de bytes. Por padrão, Golang assume que esses bytes representam texto codificado em UTF-8.
- Comprimento: O comprimento da string (
len(s)) retorna o número de bytes na string, não o número de runas (símbolos). - Indexação: Acesso aos elementos da string por índice (
s[i]) retorna o byte nesse índice. - Runas: Para trabalhar com caracteres (runas), usa-se a iteração sobre a string com um ciclo
for range, que decodifica UTF-8 e fornece as runas e seus índices.
Exemplo:
// Inicialização da string
s := "Привет, мир!" // 23 bytes, 12 runas
// Comprimento da string (em bytes)
byteLength := len(s) // byteLength = 23
// Acesso ao byte pelo índice
firstByte := s[0] // firstByte = 208 (byte 'П' em UTF-8)
// Iteração sobre as runas
runeCount := 0
for index, runeValue := range s {
// index - índice de início da runa na string (em bytes)
// runeValue - a runa decodificada
runeCount++
}
// runeCount = 12