Comment générer une chaîne aléatoire d'une longueur donnée en Go?
Bonjour à tous ! Je viens de commencer à apprendre Go et j'ai rencontré un problème : je dois générer des chaînes aléatoires de longueur fixe, par exemple pour créer des mots de passe temporaires ou des identifiants de session. J'ai essayé d'utiliser le package `math/rand` et de simplement sélectionner des caractères aléatoires dans un ensemble de lettres, mais j'ai rencontré un problème : les chaînes ne sont pas vraiment aléatoires et parfois même se répètent. Voici mon code actuel :
```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)
}
```
Le problème est qu'à chaque exécution du programme, j'obtiens la même chaîne si je n'appelle pas `rand.Seed`. J'ai lu que dans Go 1.20, `math/rand` est initialisé automatiquement, mais je ne suis toujours pas sûr que ce soit la meilleure approche.