rand.Intn() 函式是個偽隨機函式, 不管執行多少次都只會返回同樣的隨機數, 因為它預設的資源就是單一值, 所以必須呼叫 rand.Seed(), 並且傳入一個變化的值作為引數, 如 time.Now().UnixNano()
, 就是可以生成時刻變化的值.
package main
import ("fmt"
"math/rand"
"time")
func main() {
// 初始化隨機數的資源庫, 如果不執行這行, 不管執行多少次都返回同樣的值
rand.Seed(time.Now().UnixNano())
fmt.Println("A number from 1-100", rand.Intn(81))
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結