Junior — Middle
O que pode dar errado ao converter um segmento de bytes em uma string?
sobes.tech IA
Resposta da IA
Ao converter um segmento de bytes ([]byte) em string em Go, podem surgir os seguintes aspetos negativos:
- Perda de desempenho: a conversão cria uma nova string e copia os dados, o que pode ser dispendioso com grandes volumes de dados.
- Interpretação incorreta dos dados: se os bytes não representam uma sequência UTF-8 correta, a string pode conter caracteres incorretos ou substitutos.
- Memória: a string em Go é imutável, portanto, para modificar os dados, é necessário criar novas strings, o que aumenta o consumo de memória.
Exemplo:
b := []byte{0xff, 0xfe, 0xfd} // sequência UTF-8 incorreta
s := string(b)
fmt.Println(s) // pode exibir caracteres imprevisíveis ou