Bagaimana untuk mensimulasikan menggunakan nombor rawak di Golang?

PHPz
Lepaskan: 2024-06-06 13:16:57
asal
550 orang telah melayarinya

Gunakan pakej matematik/rand untuk simulasi nombor rawak: import pakej matematik/rand. Gunakan time.Now().UnixNano() untuk memulakan penjana nombor rawak. Gunakan rand.Intn(n) untuk menjana integer rawak antara 0 dan n-1. Gunakan rand.Float64() untuk menjana nombor titik terapung antara 0 dan 1.

如何在 Golang 中使用随机数进行模拟?

Cara mensimulasikan menggunakan nombor rawak di Golang

Mensimulasikan menggunakan nombor rawak ialah tugas biasa di Golang, yang boleh digunakan untuk mencipta pelbagai aplikasi dan algoritma, seperti kecerdasan buatan dalam permainan atau simulasi komputer Pemodelan kehidupan sebenar peristiwa.

Menggunakan pakej matematik/rand

Golang menyediakan pakej terbina dalam dipanggil math/rand yang menyediakan semua fungsi yang diperlukan untuk menjana nombor rawak. Untuk menggunakannya, import pakej ke dalam program anda: math/rand 的内置包,它提供了生成随机数所需的所有功能。要使用它,请将包导入你的程序:

import (
    "math/rand"
    "time"
)
Salin selepas log masuk

初始化随机数生成器

在生成随机数之前,我们必须先初始化随机数生成器。推荐使用 time.Now().UnixNano() 作为随机数种子,它可以确保每次程序执行时生成不同的随机数序列:

rand.Seed(time.Now().UnixNano())
Salin selepas log masuk

生成随机数

现在我们可以生成随机数了。rand.Intn(n) 函数可生成一个 0 到 n-1 之间的随机整数(不包括 n)。例如,要生成一个 0 到 100 之间的随机整数,可以使用:

num := rand.Intn(100)
Salin selepas log masuk

rand.Float64()

prob := rand.Float64()
Salin selepas log masuk

Memulakan penjana nombor rawak

Sebelum menjana nombor rawak, kita mesti memulakan penjana nombor rawak terlebih dahulu. Adalah disyorkan untuk menggunakan time.Now().UnixNano() sebagai benih nombor rawak, yang boleh memastikan bahawa urutan nombor rawak yang berbeza dijana setiap kali program dilaksanakan:

package main

import (
    "fmt"
    "math/rand"
    "time"
)

func main() {
    rand.Seed(time.Now().UnixNano())

    for i := 0; i < 10; i++ {
        num := rand.Intn(6) + 1
        fmt.Printf("掷出 %d\n", num)
    }
}
Salin selepas log masuk
Jana rawak nombor

Kini kita boleh menjana Nombor adalah rawak. Fungsi rand.Intn(n) menjana integer rawak antara 0 dan n-1 (tidak termasuk n). Contohnya, untuk menjana integer rawak antara 0 dan 100, anda boleh menggunakan: 🎜rrreee🎜rand.Float64() Fungsi ini boleh menjana nombor titik terapung antara 0 dan 1: 🎜rrreee🎜Kes praktikal : Simulasikan menggolek dadu 🎜🎜 Mari cipta satu atur cara mudah untuk mensimulasikan proses membaling dadu: 🎜rrreee🎜 Menjalankan program ini akan menghasilkan urutan nombor rawak antara 1 hingga 6, mensimulasikan proses membaling dadu. 🎜

Atas ialah kandungan terperinci Bagaimana untuk mensimulasikan menggunakan nombor rawak di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan