跳过正文

常用包

2、viper
·743 字·2 分钟· loading · loading
GoLang 常用包 第三方包
viper 是一个配置解决方案,拥有丰富的特性: 支持 JSON、TOML、YAML、HCL、envfile、Java properties 等多种格式的配置文件; 可以设置监听配置文件的修改,修改时自动加载新的配置; 从环境变量、命令行选项和io.Reader中读取配置; 从远程配置系统中读取和监听修改,如 etcd/Consul; 代码逻辑中显示设置键值。 安装 # go get -u github.com/spf13/viper 读取配置 # 使用默认实例读取配置文件
12、cron
·962 字·2 分钟· loading · loading
GoLang 常用包 第三方包
cron是golang实现定时任务比较好的库, 这个库提供了一个简单而强大的接口,用于创建和管理基于cron表达式的定时任务。cron库的主要特点有:
11、errors
·955 字·2 分钟· loading · loading
GoLang 常用包 第三方包
pkg/errors # github.com/pkg/errors 是 Go 语言中一个广泛使用的错误处理库,它通过**错误包装(Error Wrapping)和堆栈追踪(Stack Trace)**功能,显著增强了错误信息的可读性和调试效率。虽然不是 Go 官方包,但却被很多团队当作事实标准来使用。
4、encoding
·1225 字·3 分钟· loading · loading
GoLang 常用包 标准包
golang中内置encoding包的各个子包,提供了各种数据与编码、文本格式之间转换的方法
10、logrus
·1411 字·3 分钟· loading · loading
GoLang 常用包 第三方包
Logrus 是目前 GitHub 上 Star 数量最多的 Go 日志库, 具有如下特点: 与 Go log 标准库 API 完全兼容,这意味着任何使用 log 标准库的代码都可以将日志库无缝切换到 Logrus。 支持七种日志级别:Trace、Debug、Info、Warn、Error、Fatal、Panic。 支持结构化日志记录(key-value 形式,容易被程序解析,如 JSON 格式),通过 Filed 机制进行结构化的日志记录。 支持自定义日志格式,内置两种格式 JSONFormatter(JSON 格式) 和 TextFormatter(文本格式),并允许用户通过实现 Formatter 接口来自定义日志格式。 支持可扩展的 Hooks 机制,可以为不同级别的日志添加 Hooks 将日志记录到不同位置,例如将 Error、Fatal 和 Panic 级别的错误日志发送到 logstash、kafka 等。 支持在控制台输出带有不同颜色的日志。 并发安全。 安装 # go get -u github.com/sirupsen/logrus 简单使用 # package main import "github.com/sirupsen/logrus" func main() { logrus.SetLevel(logrus.TraceLevel) logrus.Trace("trace msg") logrus.Debug("debug msg") logrus.Info("info msg") logrus.Warn("warn msg") logrus.Error("error msg") logrus.Fatal("fatal msg") logrus.Panic("panic msg") } logrus的使用非常简单,与标准库log类似。logrus支持更多的日志级别:
9、os
·2864 字·6 分钟· loading · loading
GoLang 常用包 标准包
os包是Go语言标准库中一个非常重要的包,它提供了一系列用于操作系统交互的功能,使开发者可以方便地进行文件和目录操作、环境变量管理、进程管理、信号处理等。
11、regexp
·871 字·2 分钟· loading · loading
GoLang 常用包 标准包
regexp # Go 语言的 regexp 包提供了对正则表达式的支持。
9、jwt
·2877 字·6 分钟· loading · loading
GoLang 常用包 第三方包
JWT 概念 # JSON Web Token(JWT)是一种开放标准(RFC 7519),用于在网络应用环境间安全地传递声明(claims)。JWT 是一种紧凑且自包含的方式,用于作为 JSON 对象在各方之间安全地传输信息。由于其信息是经过数字签名的,所以可以确保发送的数据在传输过程中未被篡改。
8、math
·913 字·2 分钟· loading · loading
GoLang 常用包 标准包
math 包实现的就是数学函数计算。 随机数 # //生成非负伪随机int值 rand.Int() //返回一个取值范围在[0,n)的伪随机int值,如果n<=0会panic rand.Intn(n) //返回一个有n个元素的,[0,n)范围内整数的伪随机排列的切片 rand.Perm(n) //生成取值范围[0.0, 1.0)的伪随机float64值 rand.Float64()) 三角函数 # //正弦函数,反正弦函数,双曲正弦,反双曲正弦 func Sin(x float64) float64 func Asin(x float64) float64 func Sinh(x float64) float64 func Asinh(x float64) 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) float64 和 func 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 的转换 其他函数 # func Abs(x float64) float64 // 绝对值函数 func Ceil(x float64) float64 // 向上取整 func Floor(x float64) float64 // 向下取整 func Mod(x, y float64) float64 // 取模 func Modf(f float64) (int float64, frac float64) // 分解 f,以得到 f 的整数和小数部分 func Frexp(f float64) (frac float64, exp int) // 分解 f,得到 f 的位数和指数 func Max(x, y float64) float64 // 取大值 func Min(x, y float64) float64 // 取小值 func Dim(x, y float64) float64 // 复数的维数 func J0(x float64) float64 // 0 阶贝塞尔函数 func J1(x float64) float64 // 1 阶贝塞尔函数 func Jn(n int, x float64) float64 // n 阶贝塞尔函数 func Y0(x float64) float64 // 第二类贝塞尔函数 0 阶 func Y1(x float64) float64 // 第二类贝塞尔函数 1 阶 func Yn(n int, x float64) float64 // 第二类贝塞尔函数 n 阶 func Erf(x float64) float64 // 误差函数 func Erfc(x float64) float64 // 余补误差函数 func Copysign(x, y float64) float64 // 以 y 的符号返回 x 值 func Signbit(x float64) bool // 获取 x 的符号 func Gamma(x float64) float64 // 伽玛函数 func Lgamma(x float64) (lgamma float64, sign int) // 伽玛函数的自然对数 func Ldexp(frac float64, exp int) float64 // value 乘以 2 的 exp 次幂 func Nextafter(x, y float64) (r float64) // 返回参数 x 在参数 y 方向上可以表示的最接近的数值,若 x 等于 y,则返回 x func Nextafter32(x, y float32) (r float32) // 返回参数 x 在参数 y 方向上可以表示的最接近的数值,若 x 等于 y,则返回 x func Remainder(x, y float64) float64 // 取余运算 func Trunc(x float64) float64 // 截取函数
1、strconv
·1697 字·4 分钟· loading · loading
GoLang 常用包 标准包
Go语言中的 strconv 包为我们提供了字符串和基本数据类型之间的转换功能