原文在这里[1]。
由 Russ Cox发布于2024年5月1日
自2012年3月[2]Go 1发布以来,标准库的更改一直受到Go兼容性承诺[3]的约束。总的来说,兼容性对Go用户来说是一个福音,因为它为生产系统、文档、教程、书籍等提供了一个稳定的基础。然而,随着时间的推移,我们意识到原始api中的错误无法兼容地修复;另一方面,最佳实践和惯例已经改变。我们也需要一个计划来做出重要的、突破性的改变。
这篇博文是关于Go 1.22的新math/rand/v2包的,它是标准库中的第一个“v2”。它为math/rand API带来了必要的改进,但更重要的是,它为我们如何在需要时修改其他标准库包树立了一个榜样。
(在Go中,math/rand和math/rand/v2是两个不同的包,具有不同的导入路径。Go 1和之后的每个版本都包含了math/rand;Go 1.22增加了math/rand/v2。Go程序可以导入其中一个包,也可以同时导入两个包。)