Go 开发团队讨论创建 math/rand/v2:引入新 API、标准库首个 v2 版本包
Go 社区正在讨论关于开发 math/rand v2 版本的相关提案。 Go 开发团队技术 leader Russ Cox (rsc) 建议将新版本的 math/rand 添加到标准库中,然后导入为 math/rand/v2。 rsc 说到,提出该提案最直接的动机是清理 math/rand 并修复许多挥之不去的问题,特别是使用过时的生成器、低效的算法以及与 crypto/rand.Read 相关的不稳定冲突。 此外还可以为标准库中的其他 v2 版本包树立标杆。因为创建 math/rand/v2 能够在一个相对较少使用的包中解决工具问题(在 gopls、goimports 等中支持 v2 版本包),在转向更常用、风险更高的包之前(比如 sync/v2 或 encoding/json/v2),风险低得多。 最后看一下 math/rand/v2 API 不向后兼容的变更: 移除 Rand.Read 和 top-level Read 移除 Source.Seed, Rand.Seed, 和 top-level Seed 将 Source 接口更改为使用单一Uint64() uint64方法,以...
