亂數
Golang 基礎: 亂數
產生亂數
// 產生亂數種子
rand.Seed(time.Now().UnixNano())
// 1648566969196745000
fmt.Println(rand.Int())
隨機取清單資料
package main
import (
"fmt"
"math/rand"
"time"
)
// 員工清單
var EmployeeList = []string{
"Kay",
"Jay",
"KJ",
}
type Generator struct {
rand *rand.Rand
}
// 產生名稱
func (generator *Generator) Name() string {
// 清單長度
length := len(EmployeeList)
// 隨機取清單資料
return EmployeeList[generator.rand.Intn(length)]
}
// 建立產生器
func CreateEmployeeGenerator() Generator {
// 產生種子
r := rand.New(rand.NewSource(time.Now().UnixNano()))
// 設定產生器種子
return Generator{
rand: r,
}
}
func main()
// 建立產生器
EmployeeGenerator := CreateEmployeeGenerator()
// 隨機列印清單資料
for i := 0; i < 10; i++ {
fmt.Println(EmployeeGenerator.Name())
}
}
最後輸出的資料是隨機的清單資料
Jay
Jay
Jay
KJ
Kay
Kay
KJ
KJ
Kay
KJ