Go 1.22 jau ir izlaists, uzziniet par tās jaunajām funkcijām un uzlabojumiem

Golande

Go ir vienlaicīga, kompilēta programmēšanas valoda ar statisku rakstīšanu, ko iedvesmojusi C sintakse.

Jaunā versija Iet uz 1.22, pienāk sešus mēnešus pēc versijas 1.21, ar vairākām ievērojamām izmaiņām rīku komplektā, izpildlaikā, optimizācijas uzlabojumiem, kompilatoru uzlabojumiem un bibliotēkām.

Tiem, kas nezina par Go, man jāsaka, ka tas tā irTā ir programmēšanas valoda, ko izstrādā Google ar kopienas līdzdalību kā hibrīda risinājumu, kas apvieno kompilēto valodu augsto veiktspēju ar tādām priekšrocībām kā skriptu valodas, piemēram, koda rakstīšanas vienkāršība, izstrādes ātrums un aizsardzība pret kļūdām.

Iet 1.22 galvenās ziņas

Šajā jaunajā versijā, kas ir ieviesta no Go 1.22, izceļ divas izmaiņas "for" cilpāsIepriekš mainīgie, ko deklarēja for cilpa, tika izveidoti vienreiz un tika atjaunināti katrā iterācijā. Programmā Go 1.22 katra cilpas iterācija rada jaunus mainīgos lai izvairītos no nejaušas koplietošanas kļūdām Pievienots eksperimentāls atbalsts (GOEXPERIMENT=rangefunc) diapazona funkcijām cilpām, kas ļauj norādīt funkciju kā iteratoru un atrisināta ilgstoša problēma ar for cilpām kas izraisīja korutīnas izsaukumus, lai koplietotu cilpas mainīgos starp iterācijām. Turklāt for cilpas tagad var veikt cilpu caur veseliem skaitļiem. Piemēram:

pakotnes galvenā importēšana "fmt" func main() { priekš i := diapazons 10 { fmt.Println(10 - i) } fmt.Println("go1.22 paceļas!")}

Vēl viena būtiska izmaiņa šajā jaunajā versijā ir iespēja izmantot direktoriju «pārdevējs« kas satur darbvietas atkarības. Tagad komandas varat izmantot šo direktoriju, kas izveidots ar `ej strādāt pārdevējs` un tiek izmantots veidošanas komandās kad ir iestatīts `-mod` iekšā «pārdevējs", šī ir noklusējuma vērtība, ja pastāv direktorijs "pārdevējs» darbvietā.

Ir svarīgi atzīmēt, ka funkcionalitāte `iet saņemt` vairs netiek atbalstīts ārpus moduļa režīmā GOPATH mantota Tomēr citas veidošanas komandas, piemēram "iet būvēt" un "iet pārbaudīt". Viņi turpinās strādāt uz nenoteiktu laiku mantotajām GOPATH programmām. Turklāt komanda `go mod init` vairs nemēģinās importēt moduļu prasības no citu «"pārdevēja" (piemēram, Gopkg.lock).

Go 1.22 ievieš a jauna pakete io/nedroši kas nodrošina funkcionalitāti darbam ar rādītājiem un nedrošu atmiņu. Šī pakotne nodrošina metodes rādītāju konvertēšanai uz drošiem un nedrošiem veidiem un no tiem, kā arī atmiņas kopēšanas operāciju veikšanai bez robežu pārbaudes.

Turpinājās darbs, lai iekļautu optimizācijas kompilatorā, pamatojoties uz pPGO koda profilēšana, un tas ir tagad kompilators izmanto devirtualizācijas rīkus, lai aizstātu netiešos zvanus dažādas metodes ar paplašinātu iekļauto bloku izpildi. Kad PGO tika iespējots, pievienotās izmaiņas uzlaboja vairuma programmu veiktspēju par 2% līdz 14%.

Versijā Izvēlieties Windows — programmas, kas saista vai ielādē bibliotēkas Iet būvēts ar -buildmode=c-archive o -buildmode=c-shared tagad var izmantot notikumu reģistrēšanas Windows (ETW) API izmantojot jaunos iepakojumus izpildlaiks/izsekošana y tracehook, kas ievieš Go notikumu izsekošanas vākšanas protokolu kā ETW nodrošinātāju.

Starp pārējām izmaiņām, kas izceļas:

  • Komanda iet pārbaudīt - vāks tagad drukā pārklājuma kopsavilkumus aptvertajām pakotnēm, kurām nav savu testa failu.
  • os/exec, ir pievienota iespēja definēt konteksta atribūtus, kas ļauj iestatīt tādas vērtības kā darba direktorijs, vides mainīgie un ievades/izvades faila deskriptors izpildītajām komandām.
  • Optimizēta atmiņas pārvaldība izpildlaikā, kā rezultātā lielākajai daļai lietojumprogrammu tiek palielināta veiktspēja par 1–3% un atmiņas patēriņš samazinās par 1%.
  • El paquete net/http, funkcija ir pievienota CloseIdleConnections HTTP klientam, kas aizver visus dīkstāves savienojumus, ko klients nesen ir izmantojis
  • Kompilatoram ir pievienota uzlabota izsaukuma ievietošanas mehānisma eksperimentālā ieviešana (GOEXPERIMENT=newliner), kas izmanto heiristiku, lai nodalītu svarīgas darbības no nesvarīgām.
  • Pakete ir pievienota » math/rand/v2 » uz standarta bibliotēku, kas piedāvā konsekventāku API un izmanto ātrākus algoritmus, lai ģenerētu pseidogadījuma skaitļus.
  • El paquete net/http.ServeMux Pievienota iespēja veidnēs norādīt metodes un maskas.

Visbeidzot, ja esat interesē uzzināt vairāk par to, jūs varat pārbaudīt informāciju Šajā saitē.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.