Mengapa rand.Intn Go Sentiasa Mengembalikan Nombor Yang Sama dengan Setiap Pelaksanaan?
Pustaka standard Go termasuk pakej rand untuk menjana rawak nombor. Walau bagaimanapun, pengguna mungkin menghadapi masalah di mana fungsi rand.Intn, yang menjana integer rawak dalam julat yang ditentukan, sentiasa mengembalikan nilai yang sama. Tingkah laku ini boleh dikaitkan dengan dua faktor utama:
Sumber Lalai Tidak Dimulakan:
Pakej rand menggunakan sumber global untuk menjana nombor rawak. Secara lalai, sumber ini tidak dimulakan, yang membawa kepada penjanaan jujukan deterministik. Untuk menyelesaikan isu ini, anda mesti memulakan sumber lalai menggunakan fungsi rand.Seed. Contohnya:
rand.Seed(time.Now().UnixNano())
Atas ialah kandungan terperinci Mengapakah `rand.Intn` Go Nampaknya Sentiasa Mengembalikan Nombor Yang Sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!