|
||
---|---|---|
.. | ||
README.md | ||
dice.go | ||
ip.go | ||
number.go | ||
probability.go | ||
probabillity_test.go | ||
random.go | ||
string.go | ||
weight.go |
README.md
Random
暂无介绍...
目录导航
列出了该 package
下所有的函数及类型定义,可通过目录导航进行快捷跳转 ❤️
展开 / 折叠目录导航
包级函数定义
函数名称 | 描述 |
---|---|
Dice | 掷骰子 |
DiceN | 掷骰子 |
NetIP | 返回一个随机的IP地址 |
Port | 返回一个随机的端口号 |
UsablePort | 随机返回一个可用的端口号,如果没有可用端口号则返回 -1 |
IPv4 | 返回一个随机产生的IPv4地址。 |
IPv4Port | 返回一个随机产生的IPv4地址和端口。 |
Int64 | 返回一个介于min和max之间的int64类型的随机数。 |
Int | 返回一个介于min和max之间的的int类型的随机数。 |
Duration | 返回一个介于min和max之间的的Duration类型的随机数。 |
Float64 | 返回一个0~1的浮点数 |
Float32 | 返回一个0~1的浮点数 |
IntN | 返回一个0~n的整数 |
Bool | 返回一个随机的布尔值 |
ProbabilitySlice | 按概率随机从切片中产生一个数据并返回命中的对象及是否未命中 |
ProbabilitySliceIndex | 按概率随机从切片中产生一个数据并返回命中的对象及对象索引以及是否未命中 |
Probability | 输入一个概率,返回是否命中 |
ProbabilityChooseOne | 输入一组概率,返回命中的索引 |
RefreshSeed | 暂无描述... |
ChineseName | 返回一个随机组成的中文姓名。 |
EnglishName | 返回一个随机组成的英文姓名。 |
Name | 返回一个随机组成的中文或英文姓名 |
NumberString | 返回一个介于min和max之间的string类型的随机数。 |
NumberStringRepair | 返回一个介于min和max之间的string类型的随机数 |
HostName | 返回一个随机产生的hostname。 |
WeightSlice | 按权重随机从切片中产生一个数据并返回 |
WeightSliceIndex | 按权重随机从切片中产生一个数据并返回数据和对应索引 |
WeightMap | 按权重随机从map中产生一个数据并返回 |
WeightMapKey | 按权重随机从map中产生一个数据并返回数据和对应 key |
详情信息
func Dice() int
掷骰子
- 常规掷骰子将返回 1-6 的随机数
func DiceN(n int) int
掷骰子
- 与 Dice 不同的是,将返回 1-N 的随机数
func NetIP() net.IP
返回一个随机的IP地址
func Port() int
返回一个随机的端口号
func UsablePort() int
随机返回一个可用的端口号,如果没有可用端口号则返回 -1
func IPv4() string
返回一个随机产生的IPv4地址。
func IPv4Port() string
返回一个随机产生的IPv4地址和端口。
func Int64(min int64, max int64) int64
返回一个介于min和max之间的int64类型的随机数。
func Int(min int, max int) int
返回一个介于min和max之间的的int类型的随机数。
func Duration(min int64, max int64) time.Duration
返回一个介于min和max之间的的Duration类型的随机数。
func Float64() float64
返回一个0~1的浮点数
func Float32() float32
返回一个0~1的浮点数
func IntN(n int) int
返回一个0~n的整数
func Bool() bool
返回一个随机的布尔值
func ProbabilitySlice[T any](getProbabilityHandle func (data T) float64, data ...T) (hit T, miss bool)
按概率随机从切片中产生一个数据并返回命中的对象及是否未命中
- 当总概率小于 1 将会发生未命中的情况
查看 / 收起单元测试
func TestProbabilitySlice(t *testing.T) {
var awards = []int{1, 2, 3, 4, 5, 6, 7}
var probability = []float64{0.1, 2, 0.1, 0.1, 0.1, 0.1, 0.1}
for i := 0; i < 50; i++ {
t.Log(random.ProbabilitySlice(func(data int) float64 {
return probability[data-1]
}, awards...))
}
}
func ProbabilitySliceIndex[T any](getProbabilityHandle func (data T) float64, data ...T) (hit T, index int, miss bool)
按概率随机从切片中产生一个数据并返回命中的对象及对象索引以及是否未命中
- 当总概率小于 1 将会发生未命中的情况
func Probability(p int, full ...int) bool
输入一个概率,返回是否命中
- 当 full 不为空时,将以 full 为基数,p 为分子,计算命中概率
func ProbabilityChooseOne(ps ...int) int
输入一组概率,返回命中的索引
func RefreshSeed(seed ...int64)
func ChineseName() string
返回一个随机组成的中文姓名。
func EnglishName() string
返回一个随机组成的英文姓名。
func Name() string
返回一个随机组成的中文或英文姓名
- 以1/2的概率决定生产的是中文还是英文姓名。
func NumberString(min int, max int) string
返回一个介于min和max之间的string类型的随机数。
func NumberStringRepair(min int, max int) string
返回一个介于min和max之间的string类型的随机数
- 通过Int64生成一个随机数,当结果的字符串长度小于max的字符串长度的情况下,使用0在开头补齐。
func HostName() string
返回一个随机产生的hostname。
func WeightSlice[T any](getWeightHandle func (data T) int64, data ...T) T
按权重随机从切片中产生一个数据并返回
func WeightSliceIndex[T any](getWeightHandle func (data T) int64, data ...T) (item T, index int)
按权重随机从切片中产生一个数据并返回数据和对应索引
func WeightMap[K comparable, T any](getWeightHandle func (data T) int64, data map[K]T) T
按权重随机从map中产生一个数据并返回
func WeightMapKey[K comparable, T any](getWeightHandle func (data T) int64, data map[K]T) (item T, key K)
按权重随机从map中产生一个数据并返回数据和对应 key