Avatar ·

Como converter um slice de bytes ([]byte) para string em Go?

Olá a todos! Comecei a estudar Go recentemente e encontrei um problema ao trabalhar com hashing SHA-1. Tenho uma função que calcula o hash SHA-1 de uma string e o retorna como um slice de bytes ([]byte). Preciso exibir esse hash na tela, mas a função fmt.Println exibe caracteres estranhos em vez de uma string legível.\n\nAqui está meu código:\n\n```go\npackage main\n\nimport (\n "crypto/sha1"\n "fmt"\n)\n\nfunc main() {\n data := []byte("Hello, Go!")\n hash := sha1.Sum(data)\n fmt.Println(hash) // Exibe algo como [191 142 67 219...]\n}\n```\n\nTentei usar string(hash), mas também não deu o resultado esperado — exibe um conjunto de caracteres ainda mais estranho. Como converter corretamente um slice de bytes para string? Preciso usar alguma função especial do pacote en