Ukukhishwa kolimi lohlelo lwe-Go 1.16 kwethulwa, oluthuthukiswa i-Google ngokubamba iqhaza komphakathi njengesixazululo esiyingxubevange esihlanganisa ukusebenza okuphezulu kwezilimi ezihlanganisiwe nezinzuzo zezilimi zokubhala kalula njengekhodi yokubhala. , isivinini sokuthuthuka nokuvikelwa kwamaphutha. Ikhodi yephrojekthi isatshalaliswa ngaphansi kwelayisensi ye-BSD.
I-syntax ye-Go isekelwe kuzinto ezijwayelekile zolimi lwe-C ngezinye izinto ezibolekiwe ezivela olimini lwePython. Ulimi lumfushane impela, kepha ikhodi ifundeka kalula futhi iqondwe. Ikhodi ye-Go ihlanganiswe ibe amafayela asebenzisekayo azimele odwa kanambambili asebenza ngokomdabu ngaphandle kokusebenzisa umshini obonakalayo (iphrofayili, amamojula wokususa iphutha, namanye amasistimu angaphansi okuthola inkinga yesikhathi sokusebenza ahlanganiswe njengezingxenye zesikhathi sokusebenza), okuvumela ukusebenza okuqhathaniswa nezinhlelo ze-C.
Iphrojekthi iqale ithuthukiswe ngeso lokuhlela izinhlelo ezinemicu eminingi kanye nokusebenza ngempumelelo ezinhlelweni eziwumgogodla omningi, okuhlanganisa nokuhlinzeka ngezindlela ezisezingeni lo-opharetha zokuhlela ikhompuyutha ehambisanayo kanye nokusebenzisana phakathi kwezindlela ezisetshenziswa ngokuhambisana. Ulimi luphinde lunikeze isivikelo esakhelwe ngaphakathi ngokumelene namabhulokhi ememori abelwe kakhulu futhi lunikeza ikhono lokusebenzisa umqoqi wezibi.
Izici ezintsha eziyinhloko ezethulwe ku-Go 1.16 zifaka:
- Iphakheji yokushumeka yengeziwe, ihlinzeka ngamathuluzi okushumeka amafayela nezinkomba kuhlelo. Umyalelo omusha, "//go:embed," unikeziwe ukuze ucacise amafayela okufanele ashumekwe ngesikhathi sokuhlanganiswa. Isibonelo, ukucacisa amazwana "//go:embed test.txt" kukhodi kanye nokumemezela okuguquguqukayo "var f embed.FS" kamuva kuzoshumeka ifayela elithi test.txt futhi livumele ukufinyelela kulo ngesichazi se-"f". Ngokufanayo, ungakwazi ukushumeka amafayela adingekayo ukuze usebenze ngezinsiza noma amanani angawodwana ohlobo oluthile. Isibonelo, ukuze uthole iyunithi yezinhlamvu eguquguqukayo ethi "s" enguqulweni yefayela.txt, ungacacisa: ngenisa _ "shumeka" //go:embed version.txt var s print(s)
- Isistimu yemojula entsha enosekelo oluhlanganisiwe lwenguqulo manje isidingeka ngokuzenzakalelayo, esikhundleni sokuphathwa kokuncika okusekelwe ku-GOPATH. I-GO111MODULE eguquguqukayo yemvelo manje isisethwe ukuze "ivuliwe" ngokuzenzakalela, futhi imodi yemojuli isetshenziswa kungakhathaliseki ubukhona befayela le-go.mod kumkhombandlela osebenzayo noma ongumzali. Kumodi entsha, yakha imiyalo njengokuthi "hamba uyokwakha" nokuthi "hamba uyohlola" ayikuguquli okuqukethwe kwe-go.mod ne-go.sum, futhi umyalo othi "hamba uyofaka" ucubungula izimpikiswano zenguqulo ethile ("hamba ufake isibonelo.com/cmd@v1.0.0"). Ukuze ubuyele ekuziphatheni kwangaphambilini, shintsha i-GO111MODULE ibe "okuzenzakalelayo." Kuyaphawulwa ukuthi u-96% wabathuthukisi sebevele bethuthele ohlelweni olusha lwamamojula.
- Isixhumi sithuthukisiwe. Kumaphrojekthi amakhulu, ukuxhuma manje sekushesha ngo-20-25% futhi kudinga inkumbulo engaphansi ngo-5-15%.
- I-compiler manje isekela ukunwetshwa komsebenzi okungaphakathi komugqa nge-shorthand yama-loops, amanani ezindlela, nokwakhiwa kokushintsha kohlobo.
- Ukwesekwa okwengeziwe kwezinhlelo ze-Apple ezifakwe i-chip entsha ye-Apple M1 ARM. Amachweba we-netbsd/arm64 kanye ne-openbsd/mips64 angeziwe, asekela i-NetBSD ku-64-bit ARM kanye ne-OpenBSD ezinhlelweni ze-MIPS64. Imbobo ye-linux/riscv64 manje isekela i-cgo kanye nemodi ethi "-buildmode=pie".
- Ukusekelwa kwemodi yokuhlanganisa ye-x87 (GO386=387) kunqanyuliwe. Ukusekela amaphrosesa angenayo imiyalelo ye-SSE2 manje sekuyatholakala ngemodi yesofthiwe ye-"GO386=softfloat".
Ukwengeza, kubalulekile ukuqaphela ukuqala kokuhlolwa kokukhishwa kwe-beta ye-Dart 2.12, ezinzisa imodi yokuphepha eyize, evimbela ukuphahlazeka okubangelwa imizamo yokusebenzisa okuguquguqukayo okunamanani awo angachazwanga futhi asethwe ukuze abe yize. Le modi iqinisekisa ukuthi okuguquguqukayo akukwazi ukuba namanani angachazwanga ngaphandle kokuthi kunikezwe ngokusobala okuyi-null. Le modi iphoqelela ngokuqinile izinhlobo eziguquguqukayo, ivumela umhlanganisi ukuthi asebenzise ukulungiselelwa okwengeziwe. Ukuhambisana kohlobo kuhlolwa ngesikhathi sokuhlanganiswa; isibonelo, ukuzama ukunika i-null kokuhlukile uhlobo lwalo olungabonisi ubuze, njenge-int, kuzoholela ephutheni.
Source: opennet.ru
