golang的math包函数简介

简介

math 包实现的就是数学函数计算。

math包中的常用函数

三角函数
正弦函数,反正弦函数,双曲正弦,反双曲正弦
func Sin(x float64) float64
func Asin(x float64) float64
func Sinh(x float64) float64
func Asinh(x float64) float64
一次性返回 sin,cos
func Sincos(x float64) (sin, cos float64)
余弦函数,反余弦函数,双曲余弦,反双曲余弦
func Cos(x float64) float64
func Acos(x float64) float64
func Cosh(x float64) float64
func Acosh(x float64) float64
正切函数,反正切函数,双曲正切,反双曲正切
func Tan(x float64) float64
func Atan(x float64) float64func Atan2(y, x float64) float64
func Tanh(x float64) float64
func Atanh(x float64) float64
幂次函数
func Cbrt(x float64) float64 // 立方根函数
func Pow(x, y float64) float64  // x 的幂函数
func Pow10(e int) float64 // 10 根的幂函数
func Sqrt(x float64) float64 // 平方根
func Log(x float64) float64 // 对数函数
func Log10(x float64) float64 // 10 为底的对数函数
func Log2(x float64) float64  // 2 为底的对数函数
func Log1p(x float64) float64 // log(1 + x)
func Logb(x float64) float64 // 相当于 log2(x) 的绝对值
func Ilogb(x float64) int // 相当于 log2(x) 的绝对值的整数部分
func Exp(x float64) float64 // 指数函数
func Exp2(x float64) float64 // 2 为底的指数函数
func Expm1(x float64) float64 // Exp(x) - 1
特殊函数
func Inf(sign int) float64  // 正无穷
func IsInf(f float64, sign int) bool // 是否正无穷
func NaN() float64 // 无穷值
func IsNaN(f float64) (is bool) // 是否是无穷值
func Hypot(p, q float64) float64 // 计算直角三角形的斜边长
类型转化函数
func Float32bits(f float32) uint32  // float32 和 unit32 的转换
func Float32frombits(b uint32) float32 // uint32 和 float32 的转换
func Float64bits(f float64) uint64 // float64 和 uint64 的转换
func Float64frombits(b uint64) float64 // uint64 和 float64 的转换
Rand包
func Int() int // 返回一个非负的伪随机int值。
func Int31() int32 // 返回一个int32类型的非负的31位伪随机数。
func Intn(n int) int // 返回一个取值范围在[0,n)的伪随机int值,如果n<=0会panic。
func Int63() int64 // 返回一个int64类型的非负的63位伪随机数。
func Uint32() uint32 //返回一个uint32类型的非负的32位伪随机数。
func Uint64() uint64 //返回一个uint64类型的非负的32位伪随机数。
func Int31n(n int32) int32 //返回一个取值范围在[0,n)的伪随机int32值,如果n<=0会panic。
func Int63n(n int64) int64 //返回一个取值范围在[0, n)的伪随机int64值,如果n<=0会panic。
func Float32() float32 //返回一个取值范围在[0.0, 1.0)的伪随机float32值。
func Float64() float64 //返回一个取值范围在[0.0, 1.0)的伪随机float64值。
func Perm(n int) []int //返回一个有n个元素的,[0,n)范围内整数的伪随机的切片。
func Read(p []byte) (n int, err error) // 生成len(p)个伪随机数,伪随机数的范围为0-255;并将伪随机数存入p,返回len(p)和可能发生的错误。

使用:

func main() {
  // 直接调用rand的方法生成伪随机int值
  rand.Seed(time.Now().Unix()) // 设置种子,我们以当前时间的秒;当然也可以用毫秒,微秒等
  fmt.Println(rand.Int())
  fmt.Println(rand.Int31())
  fmt.Println(rand.Intn(5))
}
func NewSource(seed int64) Source //使用给定的种子创建一个伪随机资源。
func New(src Source) *Rand //返回一个使用src随机源生成一个Rand。

使用:

package main

import (
  "fmt"
  "math/rand"
  "time"
)

func main() {
  source := rand.NewSource(time.Now().UnixNano()) // 使用当前的纳秒生成一个随机源,也就是随机种子
  ran := rand.New(source) // 生成一个rand
  fmt.Println(ran.Int()) // 获取随机数
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yietion

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值