Rumah >pembangunan bahagian belakang >Golang >Penjelasan terperinci tentang cara menggunakan pakej rand dalam golang

Penjelasan terperinci tentang cara menggunakan pakej rand dalam golang

PHPz
PHPzasal
2023-04-06 09:12:401841semak imbas

Go ialah bahasa pengaturcaraan sumber terbuka yang dibangunkan oleh Google. Ciri-ciri bahasa Go ialah kesederhanaan, kelajuan, keselamatan dan keselarasan. Go mempunyai perpustakaan standard yang sangat popular yang merangkumi banyak fungsi yang berkuasa dan berguna. Salah satunya ialah fungsi dalam pakej rand, yang digunakan untuk menjana nombor rawak pseudo.

Pakej rand menyediakan beberapa fungsi yang boleh menjana nombor rawak. Fungsi ini ialah penjana nombor pseudo-rawak, yang bermaksud ia menjana urutan nombor yang kelihatan rawak tetapi sebenarnya dijana oleh nombor benih. Menggunakan nombor benih yang sama akan menghasilkan urutan nombor rawak pseudo yang sama. Oleh itu, apabila kita perlu memastikan bahawa nombor rawak yang dijana tidak dapat diramalkan dan memenuhi keperluan keselamatan yang lebih tinggi, kita perlu menggunakan algoritma penjanaan nombor rawak yang lebih kompleks.

Fungsi yang paling biasa digunakan dalam pakej rand ialah Int, Intn dan Float64 Penggunaannya akan diperkenalkan di bawah.

1. Int

Fungsi Int mengembalikan integer rawak bukan negatif dalam julat [int64). Berikut ialah penggunaan fungsi Int:

package main

import (
    "fmt"
    "math/rand"
)

func main() {
    // 产生一个随机整数
    var num int64 = rand.Int63()

    fmt.Println(num)
}

Dalam kod di atas, kami mula-mula mengimport pakej "rand" dan "fmt", yang digunakan untuk menjana nombor rawak dan mengeluarkan keputusan pada konsol masing-masing. Kemudian, kami memanggil fungsi rand.Int63(), yang akan mengembalikan integer rawak 32-bit atau 64-bit. Ambil perhatian bahawa nombor benih yang digunakan di sini ialah masa sistem, jadi nombor rawak yang dijana adalah berbeza setiap kali.

2. Intn

Fungsi Intn mengembalikan integer rawak bukan negatif dalam julat [0, n). Berikut ialah penggunaan fungsi Intn:

package main

import (
    "fmt"
    "math/rand"
)

func main() {
    // 产生一个0-100的随机整数
    num := rand.Intn(100)

    fmt.Println(num)
}

Dalam kod di atas, kami memanggil fungsi rand.Intn(100), yang akan mengembalikan integer lebih besar daripada atau sama dengan 0 dan kurang daripada 100 .

3. Float64

Fungsi Float64 mengembalikan nombor titik terapung rawak dalam julat [0.0, 1.0). Berikut ialah penggunaan fungsi Float64:

package main

import (
    "fmt"
    "math/rand"
)

func main() {
    // 产生一个随机浮点数
    num := rand.Float64()

    fmt.Println(num)
}

Dalam kod di atas, kami memanggil fungsi rand.Float64(), yang akan mengembalikan nombor titik terapung rawak yang lebih besar daripada atau sama dengan 0 dan kurang daripada 1.

Selain fungsi yang biasa digunakan di atas, pakej rand juga menyediakan beberapa fungsi lain, seperti:

  • Int31: Mengembalikan integer rawak bukan negatif dalam julat [ int32).
  • Int63n: Mengembalikan integer rawak bukan negatif dalam julat [0,n).
  • Perm: Mengembalikan urutan integer [0,n) dalam susunan rawak.
  • Kocok: Kocok tatasusunan panjang berubah dalam susunan rawak.

Ringkasan: Pakej rand menyediakan beberapa fungsi mudah dan praktikal yang boleh memberikan bantuan tertentu dalam menjana nombor rawak. Tetapi perlu diingat bahawa walaupun nombor rawak yang dijana dalam pakej rand kelihatan rawak, ia sebenarnya bukan nombor rawak. Oleh itu, apabila perlu memastikan nombor rawak yang dijana tidak dapat diramalkan dan memenuhi keperluan keselamatan yang lebih tinggi, algoritma penjanaan nombor rawak yang lebih kompleks perlu digunakan.

Atas ialah kandungan terperinci Penjelasan terperinci tentang cara menggunakan pakej rand dalam golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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