मैं गो में एक यादृच्छिक स्ट्रिंग उत्पन्न करने की कोशिश कर रहा हूं और यहां वह कोड है जो मैंने अब तक लिखा है:
package main
import (
"bytes"
"fmt"
"math/rand"
"time"
)
func main() {
fmt.Println(randomString(10))
}
func randomString(l int) string {
var result bytes.Buffer
var temp string
for i := 0; i < l; {
if string(randInt(65, 90)) != temp {
temp = string(randInt(65, 90))
result.WriteString(temp)
i++
}
}
return result.String()
}
func randInt(min int, max int) int {
rand.Seed(time.Now().UTC().UnixNano())
return min + rand.Intn(max-min)
}
मेरा कार्यान्वयन बहुत धीमा है। सीडिंग का उपयोग time
एक निश्चित समय के लिए एक ही यादृच्छिक संख्या लाता है, इसलिए लूप बार-बार पुनरावृत्त होता है। मैं अपना कोड कैसे सुधार सकता हूं?