Avatar ·

Wie konvertiert man ein Byte-Slice ([]byte) in einen String in Go?

Hallo zusammen! Ich habe gerade angefangen, Go zu lernen, und bin auf ein Problem bei der Arbeit mit SHA-1-Hashing gestoßen. Ich habe eine Funktion, die einen SHA-1-Hash von einem String berechnet und als Byte-Slice ([]byte) zurückgibt. Ich muss diesen Hash auf dem Bildschirm ausgeben, aber die Funktion fmt.Println gibt irgendwelche unverständlichen Zeichen aus, anstatt einer lesbaren Zeichenkette.\n\nHier ist mein Code:\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) // Gibt so etwas wie [191 142 67 219...] aus\n}\n```\n\nIch habe versucht, string(hash) zu verwenden, aber das liefert auch nicht das erwartete Ergebnis – es wird ein noch seltsamerer Zeichensatz ausgegeben. Wie konvertiert man ein Byte-Slice richtig in einen String? Muss man spezielle Funktionen aus dem Paket en verwenden?