Go语言的 container/ring
包实现了环形链表的操作。
Go 语言内置的 encoding/base64
提供了 base64 编码与解码功能。主要方法见 base64 package · go.dev
bcrypt
是一个由Niels Provos以及David Mazières根据blowfish
加密演算法所设计的密码杂凑函式,于1999年在USENIX中展示。实作中bcrypt
会使用一个加盐的流程以防御彩虹表攻击,同时bcrypt
还是适应性函式,它可以借由增加迭代次数来抵御日益增进的电脑运算能力的暴力法破解。[来自维基百科]
在某些应用中(尤其是生产级程序),需要处理一些系统信号(signal)。比如,当程序收到SIGINT
信号时,清理资源,优雅的退出程序。
Go语言的os/signal
包提供了系统信号监听机制,用于实现系统信号处理。
Go语言1.4版本增加了 Internal packages 特征用于控制包的导入,即internal package只能被特定的包导入。
gob是Go语言自带的一个数据序列化的编码/解码工具。类似于 Java 的 Serialization
。
gob和json,xml之类序列化实现一样,使用Encoder
对数据进行编码,使用Decoder
解码。
encoding/binary
包实现了数字与[]byte
之前的简易转换,及其变体的编码与解码。
encoding/binary
包更倾向于易用,而不是高性能,如果需要一个高性能的序列化或者需要处理大量数据,请优先考虑encoding/gob
或者protocol buffers
。