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

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

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

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

Go 1.16 рдорд╛ рдкреНрд░рд╕реНрддреБрдд рдЧрд░рд┐рдПрдХрд╛ рдореБрдЦреНрдп рдирдпрд╛рдБ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ:

  • рдЗрдореНрдмреЗрдб рдкреНрдпрд╛рдХреЗрдЬ рдердкрд┐рдпреЛ, рдЬрд╕рд▓реЗ рдХрд╛рд░реНрдпрдХреНрд░рдордорд╛ рд╕реНрд╡реИрдЪреНрдЫрд┐рдХ рдлрд╛рдЗрд▓рд╣рд░реВ рд░ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрд╣рд░реВ рдЗрдореНрдмреЗрдб рдЧрд░реНрдиреЗ рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рдХрдореНрдкрд╛рдЗрд▓ рд╕рдордпрдорд╛ рдЗрдореНрдмреЗрдб рдЧрд░реНрди рдлрд╛рдЗрд▓рд╣рд░реВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рдирдпрд╛рдБ "//go: рдПрдореНрдмреЗрдб" рдирд┐рд░реНрджреЗрд╢рди рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдХреЛрдб рдЯрд┐рдкреНрдкрдгреАрдорд╛ "//go:embed test.txt" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдиреБ рд░ рддреНрдпрд╕рдкрдЫрд┐ "var f embed.FS" рднреНрдпрд╛рд░рд┐рдПрдмрд▓ рдШреЛрд╖рдгрд╛ рдЧрд░реНрджрд╛ test.txt рдлрд╛рдЗрд▓рдХреЛ рдЗрдореНрдмреЗрдбрд┐рдЩ рд░ рдпрд╕рд▓рд╛рдИ "рдорд╛рд░реНрдлрдд рдкрд╣реБрдБрдЪ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛" рд╣реБрдиреЗрдЫред f" рд╡рд░реНрдгрдирдХрд░реНрддрд╛ред рддреНрдпрд╕реНрддреИ рдкреНрд░рдХрд╛рд░рд▓реЗ, рддрдкрд╛рдИрд▓реЗ рдлрд╛рдЗрд▓рд╣рд░реВ рдЗрдореНрдмреЗрдб рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд╡рд╛ рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рдЖрд╡рд╢реНрдпрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рдХрд╛рд░рдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдорд╛рдирд╣рд░реВ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, version.txt рдлрд╛рдЗрд▓рдмрд╛рдЯ рд╕реНрдЯреНрд░рд┐рдЩ рдЪрд░ "s" рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди, рддрдкрд╛рдЗрдБ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ: рдЖрдпрд╛рдд _ "рдЗрдореНрдмреЗрдб тАЭ //go: embed version.txt var s string print (s)
  • рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛, рдПрдХреАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг рд╕рдорд░реНрдердирдХреЛ рд╕рд╛рде рдирдпрд╛рдБ рдореЛрдбреНрдпреБрд▓ рдкреНрд░рдгрд╛рд▓реА рдЕрдм рдЖрд╡рд╢реНрдпрдХ рдЫ, GOPATH-рдЖрдзрд╛рд░рд┐рдд рдирд┐рд░реНрднрд░рддрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрдиред GO111MODULE рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ рдЕрдм рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ "рдЕрди" рдорд╛ рд╕реЗрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ рдХрд╛рд░реНрдп рд╡рд╛ рдЕрднрд┐рднрд╛рд╡рдХ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ go.mod рдлрд╛рдЗрд▓рдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐рд▓рд╛рдИ рдзреНрдпрд╛рди рдирджрд┐рдИ рдореЛрдбреНрдпреБрд▓ рдореЛрдб рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рдирдпрд╛рдБ рдореЛрдбрдорд╛, "рдЧреЛ рдмрд┐рд▓реНрдб" рд░ "рдЧреЛ рдЯреЗрд╕реНрдЯ" рдЬрд╕реНрддрд╛ рдмрд┐рд▓реНрдб рдЖрджреЗрд╢рд╣рд░реВрд▓реЗ go.mod рд░ go.sum рдХреЛ рд╕рд╛рдордЧреНрд░реА рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрджреИрди, рд░ "go install" рдХрдорд╛рдгреНрдбрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рддрд░реНрдХрд╣рд░реВ ("go install example.com/) рд▓рд╛рдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрджрдЫред[рдИрдореЗрд▓ рд╕реБрд░рдХреНрд╖рд┐рдд]") рдкреБрд░рд╛рдиреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдлрд░реНрдХрд╛рдЙрди, GO111MODULE рд▓рд╛рдИ "рд╕реНрд╡рдд:" рдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдпреЛ рдиреЛрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ рдХрд┐ 96% рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ рдирдпрд╛рдБ рдореЛрдбреНрдпреБрд▓ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░рд┐рд╕рдХреЗрдХрд╛ рдЫрдиреНред
  • рд▓рд┐рдЩреНрдХрд░ рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬ рдЧрд░рд┐рдПрдХреЛ рдЫред рдареВрд▓рд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐, рд▓реЗрдЖрдЙрдЯ рдЕрдм 20-25% рдЫрд┐рдЯреЛ рдЫ рд░ 5-15% рдХрдо рдореЗрдореЛрд░реА рдЪрд╛рд╣рд┐рдиреНрдЫред
  • рдХрдореНрдкрд╛рдЗрд▓рд░рд▓реЗ "рдХрд╛ рд▓рд╛рдЧрд┐" рд▓реВрдкрд╣рд░реВ, рд╡рд┐рдзрд┐ рдорд╛рдирд╣рд░реВ рд░ 'рдкреНрд░рдХрд╛рд░ рд╕реНрд╡рд┐рдЪ' рдирд┐рд░реНрдорд╛рдгрд╣рд░реВрдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдкрд░рд┐рднрд╛рд╖рд╛рд╣рд░реВрд╕рдБрдЧ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдЗрдирд▓рд╛рдЗрди рд╡рд┐рд╕реНрддрд╛рд░рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкреЗрдХреЛ рдЫред
  • рдирдпрд╛рдБ Apple M1 ARM рдЪрд┐рдкрд╕рдБрдЧ рд╕реБрд╕рдЬреНрдЬрд┐рдд Apple рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛред 64-рдмрд┐рдЯ рдПрдЖрд░рдПрдордорд╛ рдиреЗрдЯрдмреАрдПрд╕рдбреА рд░ MIPS64 рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛ OpenBSD рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рд╕рд╣рд┐рдд netbsd/arm64 рд░ openbsd/mips64 рдкреЛрд░реНрдЯрд╣рд░реВ рдердкрд┐рдпреЛред linux/riscv64 рдкреЛрд░реНрдЯрдорд╛ cgo рд░ "-buildmode=pie" рдореЛрдбрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛред
  • x87 рд╕рдВрдХрд▓рди рдореЛрдбрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдмрдиреНрдж рдЧрд░рд┐рдПрдХреЛ рдЫ (GO386=387)ред SSE2 рдирд┐рд░реНрджреЗрд╢рдирд░рд╣рд┐рдд рдкреНрд░реЛрд╕реЗрд╕рд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдЕрдм "GO386=softfloat" рд╕рдлреНрдЯрд╡реЗрдпрд░ рдореЛрдб рдорд╛рд░реНрдлрдд рдЙрдкрд▓рдмреНрдз рдЫред

рдердк рд░реВрдкрдорд╛, рд╣рд╛рдореА рдбрд╛рд░реНрдЯ 2.12 рднрд╛рд╖рд╛рдХреЛ рдмреАрдЯрд╛ рд░рд┐рд▓реАрдЬрдХреЛ рдкрд░реАрдХреНрд╖рдг рд╕реБрд░реБ рднрдПрдХреЛ рдиреЛрдЯ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ, рдЬрд╕рдорд╛ "рдирд▓" рдорд╛рди (рдирд▓ рд╕реБрд░рдХреНрд╖рд╛) рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕реБрд░рдХреНрд╖рд┐рдд рдореЛрдб рд╕реНрдерд┐рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рдЪрд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕рд╣рд░реВрдмрд╛рдЯ рд╣реБрдиреЗ рдХреНрд░реНрдпрд╛рд╕рд╣рд░реВрдмрд╛рдЯ рдмрдЪреНрди рдорджреНрджрдд рдЧрд░реНрдиреЗрдЫред рдорд╛рди рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд░ "рдирд▓" рдорд╛ рд╕реЗрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫред рдореЛрдбрд▓реЗ рднреНрдпрд╛рд░реАрдПрдмрд▓рд╣рд░реВрдорд╛ рд╢реВрдиреНрдп рдорд╛рдирд╣рд░реВ рд╣реБрди рд╕рдХреНрджреИрди рдЬрдмрд╕рдореНрдо рдЙрдиреАрд╣рд░реВрд▓рд╛рдИ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рд╢реВрдиреНрдп рдорд╛рди рддреЛрдХрд┐рдПрдХреЛ рдЫреИрди рднрдиреА рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫред рдореЛрдбрд▓реЗ рдЪрд░ рдкреНрд░рдХрд╛рд░рд╣рд░реВрд▓рд╛рдИ рдХрдбрд╛рдЗрдХрд╛ рд╕рд╛рде рд╕рдореНрдорд╛рди рдЧрд░реНрдЫ, рдЬрд╕рд▓реЗ рдХрдореНрдкрд╛рдЗрд▓рд░рд▓рд╛рдИ рдердк рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рдирд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдкреНрд░рдХрд╛рд░ рдЕрдиреБрдкрд╛рд▓рди рдХрдореНрдкрд╛рдЗрд▓рдХреЛ рд╕рдордпрдорд╛ рдЬрд╛рдБрдЪ рдЧрд░рд┐рдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдЕрд╡рд╕реНрдерд╛рд▓рд╛рдИ рд╕рдВрдХреЗрдд рдЧрд░реНрджреИрди, рдЬрд╕реНрддреИ "int", рдПрдЙрдЯрд╛ рддреНрд░реБрдЯрд┐ рджреЗрдЦрд╛рдЗрдиреЗрдЫред

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

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