Go扩展包(四):crypto-aes
1.介绍
高级加密标准(英语:Advanced Encryption Standard,缩写:AES),又称Rijndael加密法(荷兰语发音:[ˈrɛindaːl],音似英文的“Rhine doll”),是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。现在,高级加密标准已然成为对称密钥加密中最流行的算法之一。
Go标准包(十二):os
1.介绍
os包中提供了操作系统函数的接口,是一个比较重要的包。它的作用主要是在服务器上进行系统的基本操作,如文件操作、目录操作、执行命令、信号与中断、进程、系统状态等等。下面分模块归纳一些常用函数。
Go扩展包(三):bigCache
1. 介绍
BigCache 是一个快速,支持并发访问,自淘汰的内存型缓存,可以在存储大量元素的同时依然保持高性能。BigCache将元素保存在堆上却避免了GC的开销。源码地址:https://github.com/allegro/bigcache
Go扩展包(二):zap
1.介绍
Zap是uber开源的日志库,支持日志级别分级 、结构化记录,对性能和内存分配做了极致的优化。目前 Star 12.8 源码地址: https://github.com/uber-go/zap
官方性能测试图


2.安装
|
|
3.日志记录器
Zap提供了两种类型的日志记录器: SugaredLogger和Logger,两者对比如下:
Go标准包(十一):unicode
1.介绍
unicode包提供了诸多处理rune字符相关功能的函数(比如区分字母和数字,或者是字母的大写和小写转换等)
2.判断函数
2.1 是否为空格(IsSpace)
|
|
2.2 是否为十进制数(IsDigit)
|
|
2.3 是否为数字(IsNumber)
|
|
2.4 是否为字母字符(IsLetter)
|
|
@注意: 汉字也是一个字母字符
Go标准包(十):sort
1.介绍
sort包实现了四种基本排序算法:插入排序、归并排序、堆排序、快速排序。 但是这四种排序方法是不公开的,它们只能在 sort 包内部使用。sort 包会根据实际数据自动选择高效的排序算法,所以在对数据集合排序时不必考虑应当选择哪一种排序方法,只要实现了 sort.Interface 定义的三个方法,就可以顺利对数据集合进行排序:
Go扩展包(一):viper
1.介绍
Viper是适用于Go应用程序(包括Twelve-Factor App)的完整配置解决方案。它被设计用于在应用程序中工作,并且可以处理所有类型的配置需求和格式。目前Star 15.8k,它支持以下特性:
- 设置默认值
- 从
JSON、TOML、YAML、HCL、envfile和Java properties格式的配置文件读取配置信息 - 实时监控和重新读取配置文件(可选)
- 从环境变量中读取
- 从远程配置系统(
etcd或Consul)读取并监控配置变化 - 从命令行参数读取配置
- 从
buffer读取配置 - 显式配置值
2.安装
|
|
3. 读取yaml
viper可以解析JSON、TOML、YAML、HCL、envfile、properties多种格式的配置文件,这里只演示yaml格式的解析,其他格式与此类似。
Go标准包(九):flag
1.介绍
在 Go中,如果要接收命令行参数,需要使用 flag包进行解析。不同的参数类型可以通过不同的方法接收。
2.参数接受
2.1 接受方式
使用flag接收参数,可以由以下三种方式接受:
Go标准包(八):sync
1.介绍
sync包提供了互斥锁。除了Once和WaitGroup类型,其余多数适用于低水平的程序,多数情况下,高水平的同步使用channel通信性能会更优一些。