में रैंडम नंबर जेनरेट करना मैं गो में यादृच्छिक संख्या (पूर्णांक) उत्पन्न करने की कोशिश कर रहा हूं, इसका कोई फायदा नहीं हुआ। मुझे rand
पैकेज crypto/rand
में मिला, जो मुझे लगता है कि ऐसा लगता है, लेकिन मैं प्रलेखन से इसका उपयोग कैसे नहीं कर सकता। यह वह जगह है अभी मैं क्या कोशिश कर रहा हूँ:गो
b := []byte{}
something, err := rand.Read(b)
fmt.Printf("something = %v\n", something)
fmt.Printf("err = %v\n", err)
लेकिन दुर्भाग्य से यह हमेशा आउटपुट:
something = 0
err = <nil>
वहाँ इतना है कि यह वास्तव में यादृच्छिक संख्या उत्पन्न करता है इसे ठीक करने के लिए एक रास्ता है? वैकल्पिक रूप से, क्या यह उत्पन्न होता है यादृच्छिक संख्याओं पर ऊपरी बाउंड सेट करने का कोई तरीका है?
मुझे लगता है कि नियमित सरणी 'यादृच्छिक बाइट्स के साथ b' को भरने के लिए उम्मीद करेंगे, हालांकि कई आप के लिए कहा। – sarnold
मुझे भी - मैं सिर्फ जाने के लिए नया हूं और कॉलिंग सम्मेलनों या इसी तरह से परिचित नहीं हूं। –
यह 'बी' भर जाएगा हालांकि' बी' एक खाली टुकड़ा है (और बैकिंग सरणी आकार 0 है)। तो rand.Read() में कुछ भी स्टोर करने की कोई जगह नहीं है, और आपके 'कुछ' चर में 0 देता है जो इंगित करता है कि कुछ भी संग्रहीत नहीं किया गया था। 'बी: = मेक ([] बाइट, 4) 'रैंड की अनुमति देने के लिए और अधिक उचित होता। बी – nos