Avatar ·

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.