Pitani ku chilankhulo cha pulogalamu 1.16

Kutulutsidwa kwa chilankhulo cha pulogalamu ya Go 1.16 kumaperekedwa, komwe kukupangidwa ndi Google ndikutengapo gawo kwa anthu ammudzi ngati njira yosakanizidwa yomwe imaphatikiza magwiridwe antchito apamwamba a zilankhulo zophatikizidwa ndi zabwino zolembera zilankhulo monga kusavuta kulemba ma code. , liwiro la chitukuko ndi chitetezo cholakwika. Khodi ya polojekitiyi imagawidwa pansi pa layisensi ya BSD.

Mawu a Go's syntax adatengera zomwe zadziwika bwino za chilankhulo cha C ndi kubwereketsa kuchokera kuchilankhulo cha Python. Chilankhulocho ndi chachidule, koma code yake ndi yosavuta kuwerenga ndi kumvetsa. Go code imapangidwa kukhala mafayilo odziyimira okha a binary omwe amayenda mokhazikika osagwiritsa ntchito makina enieni (kulemba mbiri, ma module owongolera, ndi ma subsystem ena ozindikira zovuta za nthawi yothamanga amaphatikizidwa ngati magawo othamanga), omwe amalola kuti magwiridwe antchito afanane ndi mapulogalamu a C.

Pulojekitiyi imayamba kupangidwa ndi diso ku mapulogalamu amitundu yambiri komanso kugwira ntchito moyenera pamakina amitundu yambiri, kuphatikizapo kupereka njira zogwiritsira ntchito njira zokonzekera makompyuta ofananira ndi kuyanjana pakati pa njira zomwe zimagwiritsidwa ntchito mofanana. Chilankhulochi chimaperekanso chitetezo chomangidwira ku midadada yoperekedwa mopitirira muyeso ndipo imapereka mphamvu yogwiritsira ntchito zotayira zinyalala.

Zatsopano zazikulu zomwe zatulutsidwa mu Go 1.16:

  • Anawonjezera phukusi lophatikizika, lomwe limapereka zida zophatikizira mafayilo osagwirizana ndi zolemba mu pulogalamuyi. Lamulo latsopano la "//go:embed" limaperekedwa kuti lifotokoze mafayilo oti atsekedwe panthawi yophatikiza. Mwachitsanzo, kutchula β€œ//go:embed test.txt” mu code comment ndiyeno kulengeza zosinthika β€œvar f embed.FS” zipangitsa kuyika kwa fayilo ya test.txt ndikutha kuyipeza kudzera mu β€œ f" wofotokozera. Momwemonso, mutha kuyika mafayilo omwe ali ndi zida kapena zikhalidwe zamtundu wina wofunikira pantchito, mwachitsanzo, kuti mupeze zingwe "s" kuchokera pa fayilo.txt, mutha kufotokoza: import _ "embed ” //go:embed version.txt var s string print (s)
  • Mwachikhazikitso, dongosolo latsopano la module lomwe lili ndi chithandizo chophatikizira chosinthira tsopano likufunika, m'malo mwa GOPATH-based dependency management. Kusintha kwa chilengedwe cha GO111MODULE tsopano kwayikidwa "pa" mwachisawawa ndipo ma modules amagwiritsidwa ntchito mosasamala kanthu za kukhalapo kwa fayilo ya go.mod mu bukhu logwira ntchito kapena la makolo. M'mawonekedwe atsopano, pangani malamulo monga "go build" ndi "go test" sasintha zomwe zili mu go.mod ndi go.sum, ndi "pitani instalar" ndondomeko zotsutsana za mtundu ("go install example.com/[imelo ndiotetezedwa]"). Kuti mubweze khalidwe lakale, sinthani GO111MODULE kukhala "auto". Zikudziwika kuti 96% ya omanga asintha kale ku dongosolo latsopano la module.
  • Cholumikizira chawongoleredwa. Pazinthu zazikulu, masanjidwe tsopano ndi 20-25% mwachangu ndipo amafuna 5-15% kukumbukira pang'ono.
  • Wopangayo wawonjezera chithandizo pakukulitsa kwapaintaneti kwa magwiridwe antchito ndi matanthauzo achidule a "za" malupu, milingo ya njira ndi mapangidwe a 'mtundu wosinthira'.
  • Zowonjezera zothandizira machitidwe a Apple okhala ndi chipangizo chatsopano cha Apple M1 ARM. Onjezani ma netbsd/arm64 ndi openbsd/mips64 madoko mothandizidwa ndi NetBSD pa 64-bit ARM ndi OpenBSD pamakina a MIPS64. Thandizo lowonjezera la cgo ndi "-buildmode = pie" pa doko la linux/riscv64.
  • Thandizo la njira yophatikizira ya x87 yathetsedwa (GO386=387). Thandizo la mapurosesa osaphunzitsidwa a SSE2 tsopano likupezeka kudzera pa pulogalamu ya "GO386=softfloat".

Kuphatikiza apo, titha kuzindikira kuyambika kwa kuyesa kutulutsa kwa beta kwa chilankhulo cha Dart 2.12, momwe njira yotetezeka yogwiritsira ntchito mtengo wa "Null" (null chitetezo) idakhazikika, zomwe zingathandize kupewa ngozi zomwe zimayambitsidwa ndi kuyesa kugwiritsa ntchito zosinthika zomwe. mtengo sunafotokozedwe ndikuyikidwa ku "Null". Mawonekedwewa akutanthauza kuti zosinthika sizingakhale ndi zikhalidwe zopanda pake pokhapokha zitaperekedwa momveka bwino za mtengowo. Njirayi imalemekeza kwambiri mitundu yosinthika, yomwe imalola wopanga kuti agwiritse ntchito zowonjezera. Kutsata kwamtundu kumawunikiridwa pa nthawi yophatikizira, mwachitsanzo, ngati muyesa kupatsa mtengo wa "Null" ku mtundu womwe sukutanthauza mtundu wosadziwika, monga "int", cholakwika chidzawonetsedwa.

Source: opennet.ru

Kuwonjezera ndemanga