рдЧреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рд░рд┐рд▓реАрдЬ 1.18

Go 1.18 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рд░рд┐рд▓реАрдЬ рдкреНрд░рд╕реНрддреБрдд рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬреБрди Google рджреНрд╡рд╛рд░рд╛ рд╕рдореБрджрд╛рдпрдХреЛ рд╕рд╣рднрд╛рдЧрд┐рддрд╛рдорд╛ рд╣рд╛рдЗрдмреНрд░рд┐рдб рд╕рдорд╛рдзрд╛рдирдХреЛ рд░реВрдкрдорд╛ рд╡рд┐рдХрд╕рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ рдЬрд╕рд▓реЗ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░рд┐рдПрдХрд╛ рднрд╛рд╖рд╛рд╣рд░реВрдХреЛ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рдирд▓рд╛рдИ рд▓рд┐рдкрд┐ рднрд╛рд╖рд╛рд╣рд░реВрдХреЛ рдХреЛрдб рд▓реЗрдЦреНрди рд╕рдЬрд┐рд▓реЛ рдЬрд╕реНрддрд╛ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВрдХреЛ рд╕рдВрдпреЛрдЬрди рдЧрд░реНрджрдЫред , рд╡рд┐рдХрд╛рд╕ рд░ рддреНрд░реБрдЯрд┐ рд╕рдВрд░рдХреНрд╖рдг рдХреЛ рдЧрддрд┐ред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб BSD рдЗрдЬрд╛рдЬрддрдкрддреНрд░ рдЕрдиреНрддрд░реНрдЧрдд рд╡рд┐рддрд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫред

Go рдХреЛ рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕ рдкрд╛рдЗрдерди рднрд╛рд╖рд╛рдмрд╛рдЯ рдХреЗрд╣реА рдЙрдзрд╛рд░реЛрдХреЛ рд╕рд╛рде C рднрд╛рд╖рд╛рдХреЛ рдкрд░рд┐рдЪрд┐рдд рддрддреНрд╡рд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЫред рднрд╛рд╖рд╛ рдПрдХрджрдо рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЫ, рддрд░ рдХреЛрдб рдкрдвреНрди рд░ рдмреБрдЭреНрди рд╕рдЬрд┐рд▓реЛ рдЫред рдЧреЛ рдХреЛрдб рд╕реНрдЯреНрдпрд╛рдиреНрдб-рдЕрд▓реЛрди рдмрд╛рдЗрдирд░реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░рд┐рдПрдХреЛ рдЫ рдЬреБрди рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рди (рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдЩ, рдбрд┐рдмрдЧрд┐рдЩ рдореЛрдбреНрдпреБрд▓рд╣рд░реВ, рд░ рдЕрдиреНрдп рд░рдирдЯрд╛рдЗрдо рд╕рдорд╕реНрдпрд╛ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдиреЗ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ рд░рдирдЯрд╛рдЗрдо рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВрдХрд╛ рд░реВрдкрдорд╛ рдПрдХреАрдХреГрдд рд╣реБрдиреНрдЫрдиреН) рдкреНрд░рдпреЛрдЧ рдирдЧрд░реА рдиреИ рдЪрд▓реНрдЫрдиреН, рдЬрд╕рд▓реЗ C рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВрд╕рдБрдЧ рддреБрд▓рдирд╛ рдЧрд░реНрди рдорд┐рд▓реНрдиреЗ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрдирдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рд╛рд░рдореНрднрдорд╛ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рд░ рдмрд╣реБ-рдХреЛрд░ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛ рдХреБрд╢рд▓ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рд▓рд╛рдЧрд┐ рдЖрдБрдЦрд╛рдХреЛ рд╕рд╛рде рд╡рд┐рдХрд╕рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ, рд╕рдорд╛рдирд╛рдиреНрддрд░ рдХрдореНрдкреНрдпреБрдЯрд┐рдЩ рд░ рд╕рдорд╛рдирд╛рдиреНрддрд░-рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдПрдХрд╛ рд╡рд┐рдзрд┐рд╣рд░реВ рдмреАрдЪрдХреЛ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рдЕрдкрд░реЗрдЯрд░-рд╕реНрддрд░ рдорд╛рдзреНрдпрдорд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрдиреЗ рд╕рд╣рд┐рддред рднрд╛рд╖рд╛рд▓реЗ рдУрднрд░-рдЖрдмрдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдмреНрд▓рдХрд╣рд░реВ рд╡рд┐рд░реБрджреНрдз рдирд┐рд░реНрдорд┐рдд рд╕реБрд░рдХреНрд╖рд╛ рдкрдирд┐ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ рд░ рдлреЛрд╣реЛрд░ рд╕рдЩреНрдХрд▓рди рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред

рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрд▓реЗ рдЬреЗрдиреЗрд░рд┐рдХ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рд░ рдкреНрд░рдХрд╛рд░рд╣рд░реВ (рдЬреЗрдиреЗрд░рд┐рдХ) рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкреНрдЫ, рдЬрд╕рдХреЛ рдорджреНрджрддрд▓реЗ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд▓реЗ рдПрдХреИрдЪреЛрдЯрд┐ рдзреЗрд░реИ рдкреНрд░рдХрд╛рд░рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХрд╛ рдХрд╛рд░реНрдпрд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдЫред рдзреЗрд░реИ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░рд╣рд░реВ рдлреИрд▓рд╛рдЙрдиреЗ рд╕рдВрдпреБрдХреНрдд рдкреНрд░рдХрд╛рд░рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдкрдирд┐ рд╕рдореНрднрд╡ рдЫред рдЬреЗрдиреЗрд░рд┐рдХрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдЕрд╡рд╕реНрдерд┐рдд рдХреЛрдбрд╕рдБрдЧ рдкрдЫрд╛рдбрд┐ рдЕрдиреБрдХреВрд▓рддрд╛ рддреЛрдбреЗ рдмрд┐рдирд╛ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫред // Sum рд╕реЗрдЯ рдорд╛рдирд╣рд░реВ, int64 рд░ float64 рдкреНрд░рдХрд╛рд░рдХрд╛ рд▓рд╛рдЧрд┐ рдХрд╛рдо рдЧрд░реНрджрдЫ SumIntsOrFloats[K рддреБрд▓рдирд╛рддреНрдордХ, V int64 | float64](m рдирдХреНрд╢рд╛[K]V) V { var s V рдХреЛ рд▓рд╛рдЧрд┐ _, v := рджрд╛рдпрд░рд╛ m { s += v } рд░рд┐рдЯрд░реНрди s } // рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд╛рдХреЛ рд╕рд╛рде рдЕрд░реНрдХреЛ рд╡рд┐рдХрд▓реНрдк: рдЯрд╛рдЗрдк рдирдореНрдмрд░ рдЗрдиреНрдЯрд░рдлреЗрд╕ { int64 | float64 } func SumNumbers[K comparable, V Number](m рдирдХреНрд╢рд╛[K]V) V { var s V рдХреЛ рд▓рд╛рдЧрд┐ _, v := рджрд╛рдпрд░рд╛ m { s += v } рд░рд┐рдЯрд░реНрди s }

рдЕрдиреНрдп рд╕реБрдзрд╛рд░рд╣рд░реВ:

  • рдлрдЬрд┐рдЩ рдХреЛрдб рдкрд░реАрдХреНрд╖рдгрдХрд╛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╣рд░реВ рдорд╛рдирдХ рдЯреБрд▓рдХрд┐рдЯрдорд╛ рдПрдХреАрдХреГрдд рд╣реБрдиреНрдЫрдиреНред рдлрдЬрд┐рдЩ рдкрд░реАрдХреНрд╖рдгрдХреЛ рдмрдЦрдд, рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛рдХреЛ рд╕рдмреИ рд╕рдореНрднрд╛рд╡рд┐рдд рдЕрдирд┐рдпрдорд┐рдд рд╕рдВрдпреЛрдЬрдирд╣рд░реВрдХреЛ рд╕реНрдЯреНрд░рд┐рдо рдЙрддреНрдкрдиреНрди рд╣реБрдиреНрдЫ рд░ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдкреНрд░рд╢реЛрдзрдирдХреЛ рдХреНрд░рдордорд╛ рд╕рдореНрднрд╛рд╡рд┐рдд рд╡рд┐рдлрд▓рддрд╛рд╣рд░реВ рд░реЗрдХрд░реНрдб рд╣реБрдиреНрдЫрдиреНред рдпрджрд┐ рдЕрдиреБрдХреНрд░рдо рдХреНрд░реНрдпрд╛рд╕ рд╣реБрдиреНрдЫ рд╡рд╛ рдЕрдкреЗрдХреНрд╖рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╕рдБрдЧ рдореЗрд▓ рдЦрд╛рдБрджреИрди рднрдиреЗ, рдпреЛ рд╡реНрдпрд╡рд╣рд╛рд░рд▓реЗ рдмрдЧ рд╡рд╛ рдХрдордЬреЛрд░реАрд▓рд╛рдИ рд╕рдВрдХреЗрдд рдЧрд░реНрдиреЗ рдЙрдЪреНрдЪ рд╕рдореНрднрд╛рд╡рдирд╛ рд╣реБрдиреНрдЫред
  • рдмрд╣реБ-рдореЛрдбреНрдпреБрд▓рд░ рдХрд╛рд░реНрдпрд╕реНрдерд╛рдирд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ, рддрдкрд╛рдИрдВрд▓рд╛рдИ рдПрдХреИ рдкрдЯрдХ рдзреЗрд░реИ рдореЛрдбреНрдпреБрд▓рд╣рд░реВрдорд╛ рдЖрджреЗрд╢рд╣рд░реВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИ, рддрдкрд╛рдИрдВрд▓рд╛рдИ рдПрдХреИ рд╕рд╛рде рдзреЗрд░реИ рдореЛрдбреНрдпреБрд▓рд╣рд░реВрдорд╛ рдХреЛрдб рдирд┐рд░реНрдорд╛рдг рд░ рдЪрд▓рд╛рдЙрди рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИред
  • Apple M1, ARM64 рд░ PowerPC64 рдкреНрд░реЛрд╕реЗрд╕рд░рд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрдХреВрд▓рдирд╣рд░реВ рдмрдирд╛рдЗрдПрдХрд╛ рдЫрдиреНред рдХрд╛рд░реНрдпрд╣рд░реВрдорд╛ рддрд░реНрдХрд╣рд░реВ рдкрд╛рд╕ рдЧрд░реНрди рд░ рдкрд░рд┐рдгрд╛рдо рдлрд░реНрдХрд╛рдЙрди рд╕реНрдЯреНрдпрд╛рдХрдХреЛ рд╕рдЯреНрдЯрд╛ рджрд░реНрддрд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рд╕рдХреНрд╖рдо рдкрд╛рд░рд┐рдпреЛред рдХрдореНрдкрд╛рдЗрд▓рд░рджреНрд╡рд╛рд░рд╛ рд▓реВрдкрд╣рд░реВрдХреЛ рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рдЗрдирд▓рд╛рдЗрди рдЕрдирд░реЛрд▓рд┐рдЩред рдХрдореНрдкрд╛рдЗрд▓рд░рдорд╛ рдЯрд╛рдЗрдк рдЬрд╛рдБрдЪ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдкреБрди: рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рдЫред рдХреЗрд╣реА рдкрд░реАрдХреНрд╖рдгрд╣рд░реВрд▓реЗ рдЕрдШрд┐рд▓реНрд▓реЛ рд░рд┐рд▓реАрдЬрдХреЛ рддреБрд▓рдирд╛рдорд╛ рдХреЛрдб рдкреНрд░рджрд░реНрд╢рдирдорд╛ 20% рд╡реГрджреНрдзрд┐ рджреЗрдЦрд╛рдЙрдБрджрдЫ, рддрд░ рд╕рдВрдХрд▓рди рдЖрдлреИрдВрдорд╛ 15% рд▓рд╛рдореЛ рд╕рдордп рд▓рд╛рдЧреНрдЫред
  • рд░рдирдЯрд╛рдЗрдордорд╛, рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдордорд╛ рдореБрдХреНрдд рдореЗрдореЛрд░реА рдлрд┐рд░реНрддрд╛ рдЧрд░реНрдиреЗ рджрдХреНрд╖рддрд╛ рдмрдврд╛рдЗрдПрдХреЛ рдЫ рд░ рдлреЛрд╣реЛрд░ рд╕рдЩреНрдХрд▓рди рдЧрд░реНрдиреЗ рдХрд╛рд░реНрдпрдорд╛ рд╕реБрдзрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рдХреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрдзрд┐рдХ рдЕрдиреБрдорд╛рдирд┐рдд рднрдПрдХреЛ рдЫред
  • рдирдпрд╛рдБ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ net/netip рд░ debug/buildinfo рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпрдорд╛ рдердкрд┐рдПрдХрд╛ рдЫрдиреНред TLS 1.0 рд░ 1.1 рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдЧреНрд░рд╛рд╣рдХ рдХреЛрдбрдорд╛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рдЕрд╕рдХреНрд╖рдо рдЧрд░рд┐рдПрдХреЛ рдЫред crypto/x509 рдореЛрдбреНрдпреБрд▓рд▓реЗ SHA-1 рд╣реНрдпрд╛рд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЧрд░рд┐рдПрдХрд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрди рд░реЛрдХреЗрдХреЛ рдЫред
  • рд▓рд┐рдирдХреНрд╕рдорд╛ рд╡рд╛рддрд╛рд╡рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ рдЙрдард╛рдЗрдПрдХреЛ рдЫ; рдХрд╛рдо рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдЗрдБрд╕рдБрдЧ рдЕрдм рдХрдореНрддрд┐рдорд╛ рд╕рдВрд╕реНрдХрд░рдг 2.6.32 рдХреЛ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рд╣реБрдиреБ рдЖрд╡рд╢реНрдпрдХ рдЫред рдЕрд░реНрдХреЛ рд╡рд┐рдореЛрдЪрдирдорд╛, FreeBSD (FreeBSD 11.x рд╢рд╛рдЦрд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдмрдиреНрдж рдЧрд░рд┐рдиреЗрдЫ) рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд╛рди рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЕрдкреЗрдХреНрд╖рд┐рдд рдЫрдиреН рд░ рдХрдореНрддрд┐рдорд╛ FreeBSD 12.2 рдХрд╛рдо рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рд╣реБрдиреЗрдЫред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди