Ukukhutshwa kolwimi lwenkqubo yeGo 1.16

Ukukhutshwa kolwimi lwenkqubo ye-Go 1.16 kubonisiwe, ephuhliswa nguGoogle ngokuthatha inxaxheba koluntu njengesisombululo esidibeneyo esidibanisa ukusebenza okuphezulu kweelwimi ezihlanganisiweyo kunye nezibonelelo zeelwimi zokubhala ngokulula ukubhala ikhowudi. , isantya sophuhliso kunye nokukhuselwa kwempazamo. Ikhowudi yeprojekthi ihanjiswa phantsi kwelayisensi ye-BSD.

Isivakalisi sikaGo sisekwe kwizinto eziqhelekileyo zolwimi lwe-C kunye nokubolekwa kulwimi lwePython. Ulwimi lufutshane, kodwa ikhowudi ifundeka lula kwaye iqondwe. Ikhowudi yeGo iqokelelwe kwiifayile ezisebenzayo ezizimeleyo ezisebenza ngokwendalo ngaphandle kokusebenzisa umatshini wenyani (iprofayili, iimodyuli zokulungisa iimpazamo, kunye nezinye iinkqubo ezisezantsi zokubona ingxaki zidityaniswe njengamacandelo exesha lokubaleka), evumela ukusebenza okuthelekiswa neenkqubo zeC.

Iprojekthi iqale iphuhliswe ngeso kwiprogram ye-multi-threaded kunye nokusebenza ngokufanelekileyo kwiinkqubo ezininzi ezingundoqo, kubandakanywa nokubonelela ngeendlela zomgangatho womqhubi wokuququzelela i-computing ehambelanayo kunye nokusebenzisana phakathi kweendlela eziqhutywe ngokuhambelanayo. Ulwimi lukwabonelela ngokhuseleko olwakhelwe ngaphakathi kwiibhloko zememori ezabiwe ngokugqithisileyo kwaye lubonelela ngokukwazi ukusebenzisa umqokeleli wenkunkuma.

Iimpawu ezintsha eziphambili ezifakwe kwi-Go 1.16:

  • Yongeza iphakheji yokulungisa, ebonelela ngezixhobo zokuzinzisa iifayile ezichaseneyo kunye nolawulo kwinkqubo. Umyalelo omtsha othi "//go:embed" unikiwe ukuze uchaze iifayile eziza kufakwa ngexesha lokudibanisa. Umzekelo, ukucacisa "//go:embed test.txt" kwikhowudi yekhomenti kwaye emva koko uchaze uguqulo "var f embed.FS" kuya kukhokelela ekuhlelweni kwefayile yovavanyo kunye nokukwazi ukufikelela kuyo ngokusebenzisa " f” isichazi. Ngendlela efanayo, ungalungisa iifayile ngezixhobo okanye amaxabiso ohlobo oluthile oluyimfuneko emsebenzini, umzekelo, ukufumana umtya oguquguqukayo "s" kwifayile ye-version.txt, ungacacisa: ngenisa _ "lungisa ” //go: embed version.txt var s umtya wokuprinta (s)
  • Inkqubo entsha yemodyuli enenkxaso yoguqulelo oluhlanganisiweyo ngoku ifunwa ngokungagqibekanga, ithatha indawo yolawulo lokuxhomekeka olusekelwe kwiGOPATH. IGO111MODULE imo eguquguqukayo ngoku imiselwe "kwi" ngokungagqibekanga, kwaye imodyuli yemodyuli isetyenziswa kungakhathaliseki ubukho befayile ye-go.mod kulawulo olusebenzayo okanye lomzali. Kwimowudi entsha, yakha imiyalelo efana no-"hamba ukwakha" kunye no-"go test" ayiguquli imixholo ye-go.mod kunye ne-go.sum, kunye nomyalelo othi "hamba uyofaka" uqhubekisela phambili iingxoxo zenguqulelo-specific ("go install example.com/cmd@v1.0.0"). Ukubuyela kwindlela yokuziphatha yangaphambili, tshintsha i-GO111MODULE ku-"auto." Kuqatshelwe ukuba i-96% yabaphuhlisi sele befudukele kwinkqubo entsha yemodyuli.
  • Isinxulumanisi silungiselelwe. Kwiiprojekthi ezinkulu, i-layout ngoku i-20-25% ngokukhawuleza kwaye idinga i-5-15% imemori engaphantsi.
  • Umqambi wongeze inkxaso yokwandiswa kwe-inline yemisebenzi ngeenkcazo ezifinyeziweyo ze-"for" loops, amaxabiso eendlela kunye nolwakhiwo 'lohlobo lokutshintsha'.
  • Inkxaso eyongeziweyo kwiinkqubo ze-Apple ezixhotyiswe nge-chip entsha ye-Apple M1 ye-ARM. Kongezwe i-netbsd/arm64 kunye ne-openbsd/mips64 izibuko ngenkxaso ye-NetBSD kwi-64-bit ARM kunye ne-OpenBSD kwiinkqubo ze-MIPS64. Inkxaso eyongeziweyo ye-cgo kunye ne-"-buildmode=pie" imowudi ye-linux/riscv64 port.
  • Inkxaso ye-x87 indlela yokudibanisa iyekile (GO386=387). Inkxaso yeeprosesa ezingenamyalelo ze-SSE2 ngoku zifumaneka nge-"GO386=softfloat" imo yesoftware.

Ukongezelela, sinokuqaphela ukuqala kokuvavanya ukukhutshwa kwe-beta yolwimi lwe-Dart 2.12, apho "i-Null" imo ekhuselekileyo iye yazinziswa, eya kunceda ukuphepha ukuphazamiseka okubangelwa ukuzama ukusebenzisa iiguquguquko ezinexabiso elingachazwanga kwaye limiselwe "Null". ”. Imowudi ithetha ukuba izinto eziguquguqukayo azinakuba namaxabiso angasebenziyo ngaphandle kokuba zinikwe ngokucacileyo ixabiso elingento. Imowudi ihlonipha ngokungqongqo iindidi eziguquguqukayo, ezivumela umqambi ukuba asebenzise ulungiso olongezelelweyo. Ukuthotyelwa kohlobo kuhlolwa ngexesha lokuqokelela, umzekelo, ukuba uzama ukunika ixabiso elithi "Null" kuguquguqukayo kunye nohlobo olungathethi imo engachazwanga, njenge "int", impazamo iya kuboniswa.

umthombo: opennet.ru

Thenga ukusingathwa okuthembekileyo kwiindawo ezinokhuseleko lweDDoS, iiseva zeVPS VDS 🔥 Thenga ukusingathwa kwewebhusayithi okuthembekileyo ngokhuseleko lwe-DDoS, iiseva zeVPS VDS | ProHoster