Sobes.tech
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