แฌแแ แแแแแแแแแแ Go 1.18 แแ แแแ แแแแ แแแแก แแแแก แแแแแจแแแแ, แ แแแแแแช แจแแแแฃแจแแแแแก Google-แแก แแแแ แกแแแแแแแแแแแก แแแแแฌแแแแแแแ, แ แแแแ แช แฐแแแ แแแฃแแ แแแแแฌแงแแแขแ, แ แแแแแแช แแแ แแแแแแแก แแแแแแแแ แแแฃแแ แแแแแแก แแแฆแแ แจแแกแ แฃแแแแแก แกแแ แแแขแแ แแแแก แแแแแแก แแกแแ แฃแแแ แแขแแกแแแแแแแ, แ แแแแ แแชแแ แแแแแก แแแฌแแ แแก แกแแแแ แขแแแ. , แแแแแแแแ แแแแก แกแแฉแฅแแ แ แแ แจแแชแแแแแแแกแแแ แแแชแแ. แแ แแแฅแขแแก แแแแ แแแฌแแแแแแ BSD แแแชแแแแแแ.
Go-แก แกแแแขแแฅแกแ แแคแฃแซแแแแ C แแแแก แแแชแแแ แแแแแแแขแแแก แแแแแแแก แแแแแแ แแแ แแแแฃแแ แแแกแแกแฎแแแแ. แแแ แกแแแแแแ แแแแแแฃแ แแ, แแแแ แแ แแแแ แแแแแแแ แฌแแกแแแแแฎแ แแ แแแกแแแแแแ. Go แแแแ แจแแแแแแแแแ แชแแแแแฃแ แแ แแแแ แจแแกแ แฃแแแแแ แคแแแแแแแ, แ แแแแแแแช แแแฃแจแแแแแแ แแฃแแแแ แแแแ แแแ แขแฃแแแฃแ แ แแแแฅแแแแก แแแแแงแแแแแแก แแแ แแจแ (แแ แแคแแแแ แแแ, แแแแแ แแแแก แแแแฃแแแแ แแ แแฃแจแแแแแก แแ แแแก แแ แแแแแแแก แแฆแแแฉแแแแก แกแฎแแ แฅแแแกแแกแขแแแแแ แแแขแแแ แแ แแแฃแแแ แแแจแแแแแก แแ แแแก แแแแแแแแแขแแแแ), แ แแช แแซแแแแ C แแ แแแ แแแแแแแ แจแแแแ แแแแก แจแแกแ แฃแแแแแก แกแแจแฃแแแแแแก.
แแ แแแฅแขแ แแแแแแแแ แแแแแ แจแแแฃแจแแแแแฃแแแ แแ แแแแ แซแแคแแแแ แแ แแแ แแแแ แแแแกแ แแ แแ แแแแแแแ แแแแแ แกแแกแขแแแแแแ แแคแแฅแขแฃแ แแฃแจแแแแแแ, แแแ แจแแ แแก, แแแ แแแแแฃแ แ แแแแแแแแแก แแ แแแแแแแแแกแ แแ แแแ แแแแแฃแ แแ แจแแกแ แฃแแแแฃแ แแแแแแแแก แจแแ แแก แฃแ แแแแ แแฅแแแแแแแก แแแแ แแขแแ แแก แแแแแก แกแแจแฃแแแแแแแแก แแแฌแแแแแแ. แแแ แแกแแแ แฃแแ แฃแแแแแงแแคแก แฉแแจแแแแแฃแ แแแชแแแก แแแแแแขแแ แแแแแงแแคแแแ แแแฎแกแแแ แแแแก แแแแแแแแกแแแ แแ แฃแแ แฃแแแแแงแแคแก แแแแแแก แจแแแแ แแแแแแแก แแแแแงแแแแแแก แจแแกแแซแแแแแแแแก.
ะ ะฝะพะฒะพะน ะฒะตััะธะธ ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตัะถะบะฐ ะพะฑะพะฑััะฝะฝัั ััะฝะบัะธะน ะธ ัะธะฟะพะฒ (ะดะถะตะฝะตัะธะบะพะฒ), ะฟัะธ ะฟะพะผะพัะธ ะบะพัะพััั ัะฐะทัะฐะฑะพััะธะบ ะผะพะถะตั ะพะฟัะตะดะตะปะธัั ะธ ะธัะฟะพะปัะทะพะฒะฐัั ััะฝะบัะธะธ, ะฟัะตะดะฝะฐะทะฝะฐัะตะฝะฝัะต ะดะปั ัะฐะฑะพัั ััะฐะทั ั ะฝะตัะบะพะปัะบะธะผะธ ัะธะฟะฐะผะธ. ะขะฐะบะถะต ะฟัะตะดะพััะฐะฒะปะตะฝะฐ ะฒะพะทะผะพะถะฝะพััั ะธัะฟะพะปัะทะพะฒะฐะฝะธั ะธะฝัะตััะตะนัะพะฒ ะดะปั ัะพะทะดะฐะฝะธั ะบะพะผะฑะธะฝะธัะพะฒะฐะฝะฝัั ัะธะฟะพะฒ, ะพั ะฒะฐััะฒะฐััะธั ะฝะตัะบะพะปัะบะพ ัะธะฟะพะฒ ะดะฐะฝะฝัั . ะะพะดะดะตัะถะบะฐ ะดะถะตะฝะตัะธะบะพะฒ ัะตะฐะปะธะทะพะฒะฐะฝะฐ ะฑะตะท ะฝะฐัััะตะฝะธั ะพะฑัะฐัะฝะพะน ัะพะฒะผะตััะธะผะพััะธ ั ัััะตััะฒัััะธะผ ะบะพะดะพะผ. // ะกัะผะผะธัะพะฒะฐะฝะธะต ะทะฝะฐัะตะฝะธะน ะฝะฐะฑะพัะฐ, ัะฐะฑะพัะฐััะตะต ะดะปั ัะธะฟะพะฒ int64 ะธ float64 func SumIntsOrFloats[K comparable, V int64 | float64](m map[K]V) V { var s V for _, v := range m { s += v } return s } // ะััะณะพะน ะฒะฐัะธะฐะฝั ั ะพะฑะพะฑััะฝะฝัะผ ะพะฟัะตะดะตะปะตะฝะธะตะผ ัะธะฟะฐ: type Number interface { int64 | float64 } func SumNumbers[K comparable, V Number](m map[K]V) V { var s V for _, v := range m { s += v } return s }
แกแฎแแ แแแฃแแฏแแแแกแแแแแ:
- ะ ััะฐัะฝัะน ะธะฝััััะผะตะฝัะฐัะธะน ะธะฝัะตะณัะธัะพะฒะฐะฝั ััะธะปะธัั ะดะปั fuzzing-ัะตััะธัะพะฒะฐะฝะธั ะบะพะดะฐ. ะ ั ะพะดะต fuzzing-ัะตััะธัะพะฒะฐะฝะธะธ ะพัััะตััะฒะปัะตััั ะณะตะฝะตัะฐัะธั ะฟะพัะพะบะฐ ะฒัะตะฒะพะทะผะพะถะฝัั ัะปััะฐะนะฝัั ะบะพะผะฑะธะฝะฐัะธะน ะฒั ะพะดะฝัั ะดะฐะฝะฝัั ะธ ัะธะบัะฐัะธั ะฒะพะทะผะพะถะฝัั ัะฑะพะตะฒ ะฒ ะฟัะพัะตััะต ะธั ะพะฑัะฐะฑะพัะบะธ. ะัะปะธ ะบะฐะบะฐั-ัะพ ะฟะพัะปะตะดะพะฒะฐัะตะปัะฝะพััั ะฟัะธะฒะพะดะธั ะบ ะบัะฐั ั ะธะปะธ ะฝะต ัะพะพัะฒะตัััะฒัะตั ะพะถะธะดะฐะตะผะพะน ัะตะฐะบัะธะธ, ัะพ ัะฐะบะพะต ะฟะพะฒะตะดะตะฝะธะต ั ะฒััะพะบะพะน ะฒะตัะพััะฝะพัััั ัะฒะธะดะตัะตะปัััะฒัะตั ะพะฑ ะพัะธะฑะบะต ะธะปะธ ััะทะฒะธะผะพััะธ.
- ะะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตัะถะบะฐ ะผะพะณะพะผะพะดัะปัะฝัั ัะฐะฑะพัะธั ะฟัะพัััะฐะฝััะฒ, ะฟะพะทะฒะพะปัััะธั ะฒัะฟะพะปะฝััั ะบะพะผะฐะฝะดั ััะฐะทั ะดะปั ะฝะตัะบะพะปัะบะธั ะผะพะดัะปะตะน, ััะพ ะฟะพะทะฒะพะปัะตั ะพะดะฝะพะฒัะตะผะตะฝะฝะพ ัะพะฑะธัะฐัั ะธ ะทะฐะฟััะบะฐัั ะบะพะด ะฒ ะฝะตัะบะพะปัะบะธั ะผะพะดัะปัั .
- ะัะพะฒะตะดะตะฝะฐ ะทะฝะฐัะธัะตะปัะฝะฐั ะพะฟัะธะผะธะทะฐัะธั ะฟัะพะธะทะฒะพะดะธัะตะปัะฝะพััะธ ะดะปั ัะธััะตะผ ะฝะฐ ะฑะฐะทะต ะฟัะพัะตััะพัะพะฒ Apple M1, ARM64 ะธ PowerPC64. ะะบะปััะตะฝะฐ ะฒะพะทะผะพะถะฝะพััั ะธัะฟะพะปัะทะพะฒะฐะฝะธั ัะตะณะธัััะพะฒ ะฒะผะตััะพ ััะตะบะฐ ะดะปั ะฟะตัะตะดะฐัะธ ะฐัะณัะผะตะฝัะพะฒ ะฒ ััะฝะบัะธะธ ะธ ะฒะพะทะฒัะฐัะฐ ัะตะทัะปััะฐัะฐ. ะฃะปัััะตะฝะพ inline-ัะฐะทะฒััััะฒะฐะฝะธะต ัะธะบะปะพะฒ ะบะพะผะฟะธะปััะพัะพะผ. ะะพะปะฝะพัััั ะฟะตัะตะดะตะปะฐะฝะฐ ะฟัะพะฒะตัะบะฐ ัะธะฟะพะฒ ะฒ ะบะพะผะฟะธะปััะพัะต. ะ ะพัะดะตะปัะฝัั ัะตััะฐั ะฟะพ ััะฐะฒะฝะตะฝะธั ั ะฟัะพัะปัะผ ะฒัะฟััะบะพะผ ะพัะผะตัะฐะตััั ะฟะพะฒััะตะฝะธะต ะฟัะพะธะทะฒะพะดะธัะตะปัะฝะพััะธ ะบะพะดะฐ ะฝะฐ 20%, ะฝะพ ัะฐะผะฐ ะบะพะผะฟะธะปััะธั ััะฐะปะฐ ะฒัะฟะพะปะฝััััั ะฟัะธะผะตัะฝะพ ะฝะฐ 15% ะดะพะปััะต.
- ะ runtime ะฟะพะฒััะตะฝะฐ ัััะตะบัะธะฒะฝะพััั ะฒะพะทะฒัะฐัะตะฝะธั ะพัะฒะพะฑะพะถะดัะฝะฝะพะน ะฟะฐะผััะธ ะพะฟะตัะฐัะธะพะฝะฝะพะน ัะธััะตะผะต ะธ ัะปัััะตะฝะฐ ัะฐะฑะพัะฐ ัะฑะพััะธะบะฐ ะผััะพัะฐ, ะฟะพะฒะตะดะตะฝะธะต ะบะพัะพัะพะณะพ ััะฐะปะพ ะฑะพะปะตะต ะฟัะตะดัะบะฐะทัะตะผัะผ.
- ะ ััะฐะฝะดะฐััะฝัั ะฑะธะฑะปะธะพัะตะบั ะดะพะฑะฐะฒะปะตะฝั ะฝะพะฒัะต ะฟะฐะบะตัั net/netip ะธ debug/buildinfo. ะ ะบะปะธะตะฝััะบะพะผ ะบะพะดะต ะฟะพ ัะผะพะปัะฐะฝะธั ะพัะบะปััะตะฝะฐ ะฟะพะดะดะตัะถะบะฐ TLS 1.0 ะธ 1.1. ะ ะผะพะดัะปะต crypto/x509 ะฟัะตะบัะฐัะตะฝะฐ ะพะฑัะฐะฑะพัะบะฐ ัะตััะธัะธะบะฐัะพะฒ ั ะฟะพะดะฟะธััั ะฝะฐ ะฑะฐะทะต ั ััะฐ SHA-1.
- ะะพะดะฝััั ััะตะฑะพะฒะฐะฝะธั ะบ ะพะบััะถะตะฝะธั ะฒ Linux, ะดะปั ัะฐะฑะพัั ัะตะฟะตัั ะฝะตะพะฑั ะพะดะธะผะพ ะฝะฐะปะธัะธะต ัะดัะฐ Linux ะบะฐะบ ะผะธะฝะธะผัะผ ะฒะตััะธะธ 2.6.32. ะ ัะปะตะดัััะตะผ ะฒัะฟััะบะต ะฐะฝะฐะปะพะณะธัะฝัะต ะธะทะผะตะฝะตะฝะธั ะพะถะธะดะฐัััั ะดะปั FreeBSD (ะฑัะดะตั ะฟัะตะบัะฐัะตะฝะฐ ะฟะพะดะดะตัะถะบะฐ ะฒะตัะบะธ FreeBSD 11.x) ะธ ะดะปั ัะฐะฑัั ะฟะพััะตะฑัะตััั ะฝะฐะปะธัะธะต ะบะฐะบ ะผะธะฝะธะผัะผ FreeBSD 12.2.
แฌแงแแ แ: opennet.ru