Nenda toleo la lugha ya programu 1.14

Iliyowasilishwa na kutolewa kwa lugha ya programu Nenda 1.14, ambayo inatengenezwa na Google kwa ushiriki wa jumuiya kama suluhu ya mseto inayochanganya utendaji wa juu wa lugha zilizokusanywa pamoja na manufaa ya lugha za uandishi kama vile urahisi wa kuandika msimbo, kasi ya maendeleo na ulinzi wa makosa. Msimbo wa mradi kusambazwa na chini ya leseni ya BSD.

Sintaksia ya Go inategemea vipengele vinavyojulikana vya lugha ya C na baadhi ya mikopo kutoka kwa lugha ya Python. Lugha ni fupi kabisa, lakini kanuni ni rahisi kusoma na kuelewa. Msimbo wa Go unakusanywa katika utekelezeji wa mfumo wa jozi wa kusimama pekee ambao huendeshwa kienyeji bila kutumia mashine pepe (kuweka wasifu, kurekebisha hitilafu, na mifumo mingine midogo ya kugundua tatizo wakati wa utekelezaji imeunganishwa kama vipengele vya wakati wa kukimbia), ambayo hukuruhusu kufikia utendaji unaolinganishwa na programu za C.

Mradi huo hapo awali umeandaliwa kwa jicho la upangaji wa nyuzi nyingi na utendakazi mzuri kwenye mifumo ya msingi-nyingi, ikijumuisha kutoa njia za kiwango cha opereta kwa ajili ya kuandaa kompyuta sambamba na mwingiliano kati ya mbinu zinazotekelezwa sambamba. Lugha pia hutoa ulinzi uliojengwa ndani dhidi ya vizuizi vya kumbukumbu vilivyotengwa zaidi na hutoa uwezo wa kutumia mtozaji wa takataka.

kuu ubunifuilianzishwa katika toleo la Go 1.14:

  • Mfumo mpya wa moduli katika amri ya "kwenda" umetangazwa kuwa tayari kwa matumizi ya jumla, umewezeshwa kwa chaguomsingi, na unapendekezwa kwa usimamizi wa utegemezi badala ya GOPATH. Mfumo mpya wa moduli una usaidizi jumuishi wa matoleo, uwezo wa utoaji wa vifurushi, na usimamizi bora wa utegemezi. Kwa moduli, wasanidi programu hawafungamani tena na kufanya kazi ndani ya mti wa GOPATH, wanaweza kufafanua kwa uwazi utegemezi wa matoleo, na kuunda miundo inayoweza kurudiwa.
  • Imeongezwa usaidizi wa kupachika miingiliano na seti ya mbinu zinazopishana. Mbinu kutoka kwa kiolesura kilichojengewa ndani sasa zinaweza kuwa na majina na sahihi sawa na mbinu katika violesura vilivyopo. Mbinu zilizotangazwa wazi zinasalia kuwa za kipekee kama hapo awali.
  • Utendaji wa usemi wa "ahirisha" umeboreshwa, na kuifanya iwe karibu haraka kama vile kuita kitendakazi kilichoahirishwa moja kwa moja, na kuruhusu utendakazi ulioahirishwa katika msimbo nyeti wa utendakazi.
  • Uzuiaji usiolingana wa njia (goroutines) umetolewa - vitanzi ambavyo havina simu za utendakazi sasa vinaweza kusababisha mkwamo wa kiratibu au kuchelewesha kuanza kwa ukusanyaji wa taka.
  • Ufanisi wa mfumo wa ugawaji wa ukurasa wa kumbukumbu umeboreshwa na sasa kuna mabishano machache ya kufuli katika usanidi na maadili makubwa ya GOMAXPROCS. Matokeo yake ni kupungua kwa muda wa kusubiri na kuongezeka kwa upitishaji wakati huo huo kusambaza kwa nguvu vizuizi vikubwa vya kumbukumbu.
  • Kufunga kumeboreshwa na idadi ya swichi za muktadha imepunguzwa wakati wa kuendesha vipima muda vya ndani vinavyotumika katika muda.Baada ya, time.Tick, net.Conn.SetDeadline vitendaji.
  • Katika amri ya kwenda, bendera ya "-mod=vendor" huwashwa kwa chaguo-msingi ikiwa kuna saraka ya muuzaji kwenye mzizi, inayokusudiwa kutoa vitegemezi vya nje vilivyounganishwa na mchuuzi mahususi. Imeongeza bendera tofauti ya "-mod=mod" ili kupakia moduli kutoka kwa akiba ya moduli badala ya kutoka kwenye saraka ya "muuzaji". Ikiwa faili ya go.mod ni ya kusoma tu, alama ya "-mod=readonly" itawekwa kwa chaguomsingi ikiwa hakuna saraka ya juu ya "muuzaji". Imeongeza alama ya "-modfile=file" ili kubainisha faili mbadala ya go.mod badala ya ile iliyo kwenye saraka ya msingi ya sehemu hiyo.
  • Imeongeza utofauti wa mazingira wa GOINSECURE, ambao ukiwekwa na amri ya kwenda hauhitaji matumizi ya HTTPS na ruka ukaguzi wa cheti unapopakia moduli moja kwa moja.
  • Mkusanyaji ameongeza alama ya "-d=checkptr", iliyowezeshwa kwa chaguo-msingi, ili kuangalia msimbo kwa kufuata sheria za matumizi salama ya unsafe.Pointer.
  • Kifurushi kipya kimejumuishwa katika utoaji hashi/maphash na vitendaji vya heshi visivyo vya kriptografia ili kuunda jedwali la heshi kwa mifuatano ya baiti au mifuatano ya kiholela.
  • Umeongeza usaidizi wa majaribio kwa jukwaa la 64-bit RISC-V kwenye Linux.
  • Usaidizi umeongezwa kwa FreeBSD kwenye mifumo ya ARM ya 64-bit.

Chanzo: opennet.ru

Kuongeza maoni