ট্র্যাক
/
Go
Go
/
সিলেবাস
/
র‍্যান্ডমনেস
র‍

র‍্যান্ডমনেস মধ্যে Go

2টি অনুশীলনী

র‍্যান্ডমনেস সম্পর্কে

প্যাকেজ math/rand সিউডো-র্যান্ডম সংখ্যা তৈরি করার সুবিধা দেয়।

এখানে দেখানো হলো কীভাবে 0 থেকে 99-এর মধ্যে একটি র্যান্ডম ইন্টিজার তৈরি করা যায়:

import "math/rand"

n := rand.Intn(100) // n is a random int, 0 <= n < 100

ফাংশন rand.Float64 একটি র্যান্ডম ফ্লোটিং পয়েন্ট সংখ্যা রিটার্ন করে, যার মান 0.0 থেকে 1.0-এর মধ্যে থাকে:

f := rand.Float64() // f is a random float64, 0.0 <= f < 1.0

একটি স্লাইস (বা অন্যান্য ডেটা স্ট্রাকচার) শাফল করার সুবিধাও আছে:

x := []string{"a", "b", "c", "d", "e"}
// shuffling the slice put its elements into a random order
rand.Shuffle(len(x), func(i, j int) {
	x[i], x[j] = x[j], x[i]
})

সিড

প্যাকেজ math/rand যে সংখ্যাক্রম তৈরি করে, তা সত্যিকারের র্যান্ডম নয়। একটি নির্দিষ্ট সিড মান দিলে ফলাফল পুরোপুরি নির্ধারিত হয়।

Go 1.20 ও তার পরের সংস্করণে সিডটি স্বয়ংক্রিয়ভাবে র্যান্ডমভাবে বেছে নেওয়া হয়, তাই আপনি প্রতিবার প্রোগ্রাম রান করলে ভিন্ন ভিন্ন র্যান্ডম সংখ্যার ক্রম দেখতে পাবেন।

Go-এর আগের সংস্করণগুলোতে সিড ডিফল্টভাবে 1 ছিল। তাই প্রোগ্রাম বারবার রান করলে আলাদা আলাদা ক্রম পেতে হলে, কোনো র্যান্ডম সংখ্যা নেওয়ার আগে আপনাকে নিজ হাতে র্যান্ডম সংখ্যা জেনারেটরে সিড সেট করতে হতো, যেমন বর্তমান সময় দিয়ে।

rand.Seed(time.Now().UnixNano())
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি নতুন একটি উইন্ডো বা ট্যাবে খুলবে

র‍্যান্ডমনেস শিখুন

অনুশীলন লক করা আছে

র‍্যান্ডমনেস অনুশীলন করতে আরও 2টি অনুশীলনী আনলক করুন