网站首页 > 技术文章 正文
math/rand
1 随机数
//如果种子参数一样, 每次运行程序产生的随机数都一样
rand.Seed(time.Now().UnixNano()) //以当前系统时间作为种子参数 nano: 纳米
//产生随机数
a := rand.Intn(100) //100以内的随机数
案例:
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
// 第一种方法:
//如果种子参数一样, 每次运行程序产生的随机数都一样
rand.Seed(time.Now().UnixNano()) //以当前系统时间作为种子参数 nano: 纳秒
//产生随机数
a := rand.Intn(100) //100以内的随机数
fmt.Println(a) // 43
// 第二种方法:
r := rand.New(rand.NewSource(time.Now().UnixNano()))
n := r.Intn(100)
fmt.Println(n)
}
2 运算
package main
import (
"fmt"
"math"
)
func main() {
i := 19
fmt.Println(math.Abs(float64(i))) //取到绝对值
fmt.Println(math.Ceil(4.7)) //向上取整
fmt.Println(math.Floor(2.3)) //向下取整
fmt.Println(math.Pow(4,3)) //X 的 Y次方 乘方
fmt.Println(math.Pow10(6)) //10的N次方 乘方
fmt.Println(math.Mod(22,4)) //取余数 22%4 效果一样
fmt.Println(math.Modf(3.18)) //取整数跟小数
fmt.Println(math.Sqrt(16)) //开平方 4
fmt.Println(math.Cbrt(8)) //开立方 2
fmt.Println(math.Pi) //π
fmt.Println(math.Round(5.5)) //四舍五入
fmt.Println(math.IsNaN(4.8)) //false 报告f是否表示一个NaN(Not A Number)值。
fmt.Println(math.Trunc(2.99999999)) //1 返回整数部分(的浮点值)。
fmt.Println(math.Max(-0.9, 0)) //0 返回x和y中最大值
fmt.Println(math.Min(-0.5, 0)) //-0.5 返回x和y中最小值
fmt.Println(math.Hypot(3, 4)) //5 返回Sqrt(p*p + q*q)
fmt.Println(math.Pow(2, 8)) //256 返回x^y
fmt.Println(math.Dim(-12, -19)) //7 函数返回x-y和0中的最大值
fmt.Println(math.Dim(-12, 19)) //0 函数返回x-y和0中的最大值
fmt.Println(math.Cbrt(8)) //2 返回x的三次方根
}
math 常量
package math
//数学常数。
const (
E = 2.71828182845904523536028747135266249775724709369995957496696763
Pi = 3.14159265358979323846264338327950288419716939937510582097494459
Phi = 1.61803398874989484820458683436563811772030917980576286213544862
Sqrt2 = 1.41421356237309504880168872420969807856967187537694807317667974
SqrtE = 1.64872127070012814684865078781416357165377610071014801157507931
SqrtPi = 1.77245385090551602729816748334114518279754945612238712821380779
SqrtPhi = 1.27201964951406896425242246173749149171560804184009624861664038
Ln2 = 0.693147180559945309417232121458176568075500134360255254120680009
Log2E = 1 / Ln2
Ln10 = 2.30258509299404568401799145468436420760110148862877297603332790
Log10E = 1 / Ln10
)
//浮点极限值。
//Max是该类型可表示的最大有限值。
//SmallestNonzero是该类型可表示的最小正非零值。
const (
MaxFloat32 = 3.40282346638528859811704183484516925440e+38 // 2**127 * (2**24 - 1) / 2**23
SmallestNonzeroFloat32 = 1.401298464324817070923729583289916131280e-45 // 1 / 2**(127 - 1 + 23)
MaxFloat64 = 1.797693134862315708145274237317043567981e+308 // 2**1023 * (2**53 - 1) / 2**52
SmallestNonzeroFloat64 = 4.940656458412465441765687928682213723651e-324 // 1 / 2**(1023 - 1 + 52)
)
// Integer limit values.
const (
MaxInt8 = 1<<7 - 1
MinInt8 = -1 << 7
MaxInt16 = 1<<15 - 1
MinInt16 = -1 << 15
MaxInt32 = 1<<31 - 1
MinInt32 = -1 << 31
MaxInt64 = 1<<63 - 1
MinInt64 = -1 << 63
MaxUint8 = 1<<8 - 1
MaxUint16 = 1<<16 - 1
MaxUint32 = 1<<32 - 1
MaxUint64 = 1<<64 - 1
)
猜你喜欢
- 2024-11-09 极客算法训练笔记(十),十大经典排序之计数排序、基数排序
- 2024-11-09 Axure RP 9 学习笔记 - 常用数学函数
- 2024-11-09 判断坐标点是否在高德地图围栏内的算法?
- 2024-11-09 Quick Pow: 如何快速求幂 快速幂算法
- 2024-11-09 十六、Java运算符-优先级与表达式
- 2024-11-09 抖音B站…推荐机制的原型,威尔逊得分排序算法
- 2024-11-09 浅谈移动设备交互体验之惯性滚动 惯性移轴定理
- 2024-11-09 JS中常见的Math对象 javascript中math
- 2024-11-09 力扣73——矩阵置零 矩阵置0
- 2024-11-09 基数排序的1个小技巧,2种排序方式,3种排序算法
- 标签列表
-
- content-disposition (47)
- nth-child (56)
- math.pow (44)
- 原型和原型链 (63)
- canvas mdn (36)
- css @media (49)
- promise mdn (39)
- readasdataurl (52)
- if-modified-since (49)
- css ::after (50)
- border-image-slice (40)
- flex mdn (37)
- .join (41)
- function.apply (60)
- input type number (64)
- weakmap (62)
- js arguments (45)
- js delete方法 (61)
- blob type (44)
- math.max.apply (51)
- js (44)
- firefox 3 (47)
- cssbox-sizing (52)
- js删除 (49)
- js for continue (56)
- 最新留言
-