Kurzusok
/
Go
Go
/
Tanterv
/
Véletlenszerűség
Vé

Véletlenszerűség ebben a kurzusban: Go

2 feladat

A(z) Véletlenszerűség fogalomról

A math/rand csomag támogatást nyújt pszeudovéletlen számok generálásához.

Így generálhatsz egy véletlen egész számot 0 és 99 között:

import "math/rand"

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

A rand.Float64 függvény egy véletlen lebegőpontos számot ad vissza 0.0 és 1.0 között:

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

Egy szeletet (vagy más adatszerkezetet) is összekeverhetsz:

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]
})

Magok

A math/rand csomaggal generált számsorozatok nem igazán véletlenszerűek. Egy adott „mag” érték esetén az eredmények teljesen determinisztikusak.

A Go 1.20-as verziójától kezdve a magot a program automatikusan, véletlenszerűen választja ki, így minden futtatáskor más véletlenszám-sorozatot látsz.

A Go korábbi verzióiban a mag alapértelmezés szerint 1 volt. Ezért ha a program különböző futtatásaihoz különböző sorozatokat akartál kapni, kézzel kellett beállítanod a véletlenszám-generátor magját, például az aktuális idővel, mielőtt bármilyen véletlen számot kértél volna.

rand.Seed(time.Now().UnixNano())
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg

Tanuld meg a(z) Véletlenszerűség fogalmat

A gyakorlás zárolva

Oldj fel még 2 feladatot, hogy gyakorolhasd a(z) Véletlenszerűség fogalmat