Wie generiert man einen zufälligen String mit fester Länge in Go?
Hallo zusammen! Ich habe gerade angefangen, Go zu lernen, und bin auf eine Aufgabe gestoßen: Ich muss zufällige Strings mit fester Länge generieren, z.B. für temporäre Passwörter oder Session-IDs. Ich habe versucht, das Paket `math/rand` zu verwenden und einfach zufällige Zeichen aus einem Buchstabensatz auszuwählen, aber ich bin auf ein Problem gestoßen — die Strings sind nicht wirklich zufällig und wiederholen sich manchmal sogar. Hier ist mein aktueller Code:
```go
package main
import (
"fmt"
"math/rand"
)
func main() {
fmt.Println(randString(10))
}
func randString(n int) string {
var letters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
b := make([]rune, n)
for i := range b {
b[i] = letters[rand.Intn(len(letters))]
}
return string(b)
}
```
Das Problem ist, dass ich bei jedem Programmstart denselben String erhalte, wenn ich nicht `rand.Seed` aufrufe. Ich habe gelesen, dass `math/rand` in Go 1.20 automatisch initialisiert wird, bin mir aber immer noch nicht sicher, ob das der beste Ansatz ist.