Π‘Π»Π΅Π΄ ΡΠ΅ΡΡΠΈΠΌΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ Π΅ ΡΠ΅Π»ΠΈΠ· Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅Π½ Π΅Π·ΠΈΠΊ Go 1.24, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΎΡ Google Ρ ΡΡΠ°ΡΡΠΈΠ΅ΡΠΎ Π½Π° ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ°. ΠΠ·ΠΈΠΊΡΡ ΡΡΡΠ΅ΡΠ°Π²Π° Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, ΡΠΈΠΏΠΈΡΠ½Π° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ΠΈΡΠ΅ Π΅Π·ΠΈΡΠΈ, Ρ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π°ΡΠ° Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²ΠΈΡΠ΅ Π΅Π·ΠΈΡΠΈ, ΠΊΠ°ΡΠΎ ΠΏΡΠΎΡΡΠΎΡΠ° Π½Π° Π½Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄, Π²ΠΈΡΠΎΠΊΠ° ΡΠΊΠΎΡΠΎΡΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ Π·Π°ΡΠΈΡΠ° ΠΎΡ Π³ΡΠ΅ΡΠΊΠΈ. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ BSD.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡΡ Π½Π° Go Π΅ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΠΏΠΎΠ·Π½Π°ΡΠΈΡΠ΅ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° Π‘ΠΈ Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π·Π°ΠΈΠΌΡΡΠ²Π°Π½ΠΈΡ ΠΎΡ Π΅Π·ΠΈΠΊΠ° ΠΠ±Π΅ΡΠΎΠ½. ΠΠ·ΠΈΠΊΡΡ Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ΅Π½, Π½ΠΎ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ΄ΡΡ ΡΠ΅ ΡΠ΅ΡΠ΅ ΠΈ Π²ΡΠ·ΠΏΡΠΈΠ΅ΠΌΠ° Π»Π΅ΡΠ½ΠΎ. ΠΠΎΠ΄ΡΡ Π½Π° Π΅Π·ΠΈΠΊΠ° Go ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ° Π² ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π½Π°ΡΠΈΠ²Π½ΠΎ, Π±Π΅Π· Π΄Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π° (ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π·Π° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠ°Π½Π΅, ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Ρ ΠΊΠ°ΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° runtime), ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, ΡΡΠ°Π²Π½ΠΈΠΌΠ° Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ Π½Π° Π΅Π·ΠΈΠΊΠ° Π‘ΠΈ.
ΠΡΠΎΠ΅ΠΊΡΡΡ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° Ρ ΠΎΠ³Π»Π΅Π΄ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΡΠ΄ΡΠ΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° Π½ΠΈΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠΈ ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈ. ΠΠ·ΠΈΠΊΡΡ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ ΠΈΠ·Π²ΡΠ½ Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° Π±ΡΡΠ΅ΡΠ° ΠΈ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ±ΠΎΡΡΠΈΠΊ Π½Π° Π±ΠΎΠΊΠ»ΡΠΊΠ°.
Π‘ΡΠ΅Π΄ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅:
- ΠΠ±Π΅Π·ΠΏΠ΅ΡΠ΅Π½Π° Π΅ ΠΏΡΠ»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΈ Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ (generic type alias) β ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡΡ Π½Π° ΡΠΈΠΏΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΈΡΠ°Π½, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈΡΡ ΡΠΈΠΏ (ΠΏΡΠΈ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠ° Π½Π° ΡΠΈΠΏΠ° ΡΠ΅Π³Π° ΡΠ΅ Π΄ΠΎΠΏΡΡΠΊΠ° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π½Π° ΡΠΈΠΏΠ°). type set[P comparable] = map[P]bool
- ΠΠ·Π²ΡΡΡΠ΅Π½ΠΈ ΡΠ° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π² runtime, ΠΊΠΎΠΈΡΠΎ Π΄ΠΎΠ²Π΅Π΄ΠΎΡ Π° Π΄ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Ρ 2-3% ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ. Π‘ΡΠ΅Π΄ Π²Π½Π΅ΡΠ΅Π½ΠΈΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ: Π½ΠΎΠ²Π° Π²Π³ΡΠ°Π΄Π΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° "map", Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Ρ Π΅Ρ-ΡΠ°Π±Π»ΠΈΡΠΈ Swiss Table; ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΏΡΠΈ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ°Π»ΠΊΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ; Π½ΠΎΠ²Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° mutex, Π²Π³ΡΠ°Π΄Π΅Π½Π° Π² runtime.
- Π ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Β«goΒ» Π·Π° Go ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Π½ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (Π²ΡΠΏΠΎΠΌΠ°Π³Π°ΡΠ΅Π»Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Π΅Π·ΠΈΠΊ Go ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΌΠΎΠ΄ΡΠ»Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π»ΠΈΠ½ΡΠ΅ΡΠΈ ΠΈΠ»ΠΈ ΡΡΠΈΠ»ΠΈΡΠΈ Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ΄). ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠΈΠ»ΠΈΡΠΈΡΠ΅ Π² ΡΠ°ΠΉΠ»Π° go.mod ΡΡΠ°Π²Π° ΡΡΠ΅Π· Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° Β«toolΒ», Π·Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΠΊΠΎΡΡΠΎ Π² ΡΠ΅ΠΊΡΡΠΈΡ ΠΌΠΎΠ΄ΡΠ» Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Β«go get -toolΒ» (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«go get -tool golang.org/x/tools/cmd/stringerΒ»). ΠΠ° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠΈΠ»ΠΈΡΠ°, ΠΏΠΎΡΠΎΡΠ΅Π½Π° Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° Β«toolΒ», Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Β«go tool ΠΈΠΌΠ΅_ΡΡΠΈΠ»ΠΈΡΠ°Β».
- Π ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ Β«go buildΒ» ΠΈ Β«go installΒ» Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΡΠΈΡ Β«-jsonΒ» Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ JSON.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° GOAUTH Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ, Π΄ΠΎΡΡΡΠΏΡΡ Π΄ΠΎ ΠΊΠΎΠΈΡΠΎ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½.
- Π ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Β«go vetΒ» Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π½ΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅ (test analyzer), ΠΊΠΎΠΉΡΠΎ ΠΎΡΠΊΡΠΈΠ²Π° ΡΠΈΠΏΠΈΡΠ½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° fuzzing, ΡΡΠΈΠ»ΠΈΡΠΈ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
- Π ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΊΡΠΈΠΏΡΠΎΠ°Π»Π³ΠΎΡΠΈΡΠΌΠΈ, ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ° Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ FIPS 140-3.
- Π ΠΏΠ°ΠΊΠ΅ΡΠ° testing Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄ B.Loop Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Β«for b.Loop() { β¦ }Β» Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ ΡΠΈΠΊΡΠ» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠ»Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΡΠ»ΠΎΡΠΎ Π½Π° ΡΠΈΠΊΡΠ»Π° ΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° ΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·Π½Π΅ΡΠ°Ρ ΠΎΡ ΡΠΈΠΊΡΠ»Π° Π΅ΡΠ°ΠΏΠΈΡΠ΅ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΈ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠ°.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΡΠΈΠΏ os.Root, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π² Π·Π°Π΄Π°Π΄Π΅Π½ ΠΊΠ°ΡΠ°Π»ΠΎΠ³.
- Π runtime Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Π½ΠΎΠ² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΡΠΈΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ runtime.AddCleanup, ΠΏΠΎ-Π³ΡΠ²ΠΊΠ°Π² ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΠΎΡ runtime.SetFinalizer.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΏΠ°ΠΊΠ΅Ρ weak c Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ»Π°Π±ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΏΡΠΈΡΠ΅ΠΆΠ°Π²Π°Ρ ΠΎΠ±Π΅ΠΊΡ, Π½Π΅ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Ρ Π±ΡΠΎΡ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅ ΠΈ Π½Π΅ ΠΏΡΠ΅ΡΠ°Ρ Π½Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠ±Π΅ΠΊΡΠ°.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ: crypto/mlkem Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΊΡΠΈΠΏΡΠΎΠ°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ ML-KEM-768 ΠΈ ML-KEM-1024 (Kyber), ΡΡΡΠΎΠΉΡΠΈΠ²ΠΈ Π½Π° ΠΏΠΎΠ΄Π±ΠΎΡΠ° Ρ ΠΊΠ²Π°Π½ΡΠΎΠ² ΠΊΠΎΠΌΠΏΡΡΡΡ; crypto/hkdf Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ»ΡΡ Π½Π° Π±Π°Π·Π° HMAC (RFC 5869); crypto/pbkdf2 Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ»ΡΡ Π½Π° Π±Π°Π·Π° ΠΏΠ°ΡΠΎΠ»Π° (PBKDF2, RFC 8018); crypto/sha3 Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Ρ Π΅ΡΠΎΠ²Π΅ SHA-3.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ testing/synctest Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡ.
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° WebAssembly. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Go-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° WASI (WebAssembly System Interface). Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° go:wasmexport Π·Π° Π΅ΠΊΡΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² WebAssembly.
- Π ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° objdump Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄ΠΈΠ·Π°ΡΠ΅ΠΌΠ±Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈΡΠ΅ LoongArch (GOARCH=loong64), RISC-V (GOARCH=riscv64) ΠΈ S390X (GOARCH=s390x).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
