Goは2009年にリリースされて以来、これまで数多くの標準パッケージが実装されてきましたが、リリースから時間が経つにつれて様々な問題が発見されてきました。それらの問題はプログラムの外部から見える振る舞いを変えないようであれば修正が行われてきましたが、振る舞いを変える場合、後方互換性を維持するために非推奨にして使用しないように勧告したり、既存の実装を残したまま拡張したりしながら問題を回避してきました。 最近では、既存のパッケージを残しつつ、新しくv2パッケージとして提供しようという動きが出てきており、例えば既存の標準パッケージであるencoding/jsonの様々な問題点を解消するために、そのv2パッケージencoding/json/v2が提案されていることをご存じの方も多いと思います。実はGo1.22ではencoding/json/v2よりも一足先に、パッケージmath/randにv2パッ
![Go1.22で追加される新しい乱数パッケージmath/rand/v2の紹介](https://cdn-ak-scissors.b.st-hatena.com/image/square/a9fc41bf3705cc23f9297c6a393699d1713d7412/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--gsenwiUV--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3AGo1.22%2525E3%252581%2525A7%2525E8%2525BF%2525BD%2525E5%25258A%2525A0%2525E3%252581%252595%2525E3%252582%25258C%2525E3%252582%25258B%2525E6%252596%2525B0%2525E3%252581%252597%2525E3%252581%252584%2525E4%2525B9%2525B1%2525E6%252595%2525B0%2525E3%252583%252591%2525E3%252583%252583%2525E3%252582%2525B1%2525E3%252583%2525BC%2525E3%252582%2525B8math%25252Frand%25252Fv2%2525E3%252581%2525AE%2525E7%2525B4%2525B9%2525E4%2525BB%25258B%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3AKoya%252520IWAMURA%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzFlY2E2MDdiMTIuanBlZw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png)