Различные методы генерации случайных массивов в Go (Golang)

Чтобы сгенерировать случайный массив в Go (Golang), вы можете использовать различные методы. Вот несколько примеров:

Метод 1: использование пакета math/rand

package main
import (
    "fmt"
    "math/rand"
    "time"
)
func main() {
    rand.Seed(time.Now().UnixNano())
    size := 10 // size of the array
    arr := make([]int, size)
    for i := 0; i < size; i++ {
        arr[i] = rand.Intn(100) // generates a random number between 0 and 99
    }
    fmt.Println(arr)
}

Метод 2. Использование пакета crypto/randдля генерации криптографически безопасных случайных чисел

package main
import (
    "crypto/rand"
    "fmt"
    "math/big"
)
func main() {
    size := 10 // size of the array
    arr := make([]int, size)
    for i := 0; i < size; i++ {
        randNum, _ := rand.Int(rand.Reader, big.NewInt(100)) // generates a random number between 0 and 99
        arr[i] = int(randNum.Int64())
    }
    fmt.Println(arr)
}

Эти методы используют разные пакеты для генерации случайных чисел. Первый метод использует пакет math/rand, который подходит для сценариев, не критичных к безопасности. Второй метод использует пакет crypto/rand, который обеспечивает более безопасный источник случайных чисел.