Go 1.22 on jo julkaistu, tutustu sen uusiin ominaisuuksiin ja parannuksiin

goland

Go on samanaikainen, käännetty ohjelmointikieli, jossa on C-syntaksin inspiroima staattinen kirjoitus.

Uusi versio Go 1.22, saapuu kuusi kuukautta version 1.21 jälkeen, joukolla merkittäviä muutoksia työkalusarjaan, suoritusaikaan, optimointiparannuksiin, kääntäjien parannuksiin ja kirjastoihin.

Niille, jotka eivät tiedä Gosta, minun on kerrottava, että tämä onSe on Googlen kehittämä ohjelmointikieli yhteisön mukana hybridiratkaisuna, joka yhdistää käännettyjen kielten korkean suorituskyvyn etuihin, kuten komentosarjakieliin, kuten koodin kirjoittamisen helppous, kehitysnopeus ja suojaus virheiltä.

Go 1.22: n tärkeimmät uudet ominaisuudet

Tässä uudessa versiossa, joka on otettu käyttöön Go 1.22:sta, kohokohtia kaksi muutosta "for"-silmukoissaKuin Aikaisemmin for-silmukan ilmoittamat muuttujat luotiin kerran ja ne päivitettiin jokaisessa iteraatiossa. Go 1.22:ssa jokainen silmukan iteraatio luo uusia muuttujia lisäksi vahingossa tapahtuvien jakamisvirheiden välttämiseksi Lisätty kokeellinen tuki (GOEXPERIMENT=rangefunc) aluefunktioille for silmukoille, jonka avulla voit määrittää funktion iteraattoriksi ja ratkaisi pitkään jatkuneen ongelman for-silmukoilla mikä sai korutiinikutsut jakamaan silmukkamuuttujia iteraatioiden välillä. Lisäksi for-silmukat voivat nyt kiertää kokonaislukuja. Esimerkiksi:

paketin pää tuonti "fmt" func main() { for i := range 10 { fmt.Println(10 - i) } fmt.Println("go1.22 starttaa!") }

Toinen merkittävä muutos tässä uudessa versiossa on kyky käyttää hakemistoa «myyjä« joka sisältää työtilan riippuvuudet. Nyt komennot voit käyttää tätä hakemistoa, joka luodaan `mene töihin myyjälle` ja sitä käytetään rakennuskomennoissa kun ` on asetettu-mod` sisään «myyjä«, tämä on oletusarvo, kun hakemisto on olemassa «myyjä» työtilassa.

On tärkeää huomata, että toiminnallisuus `Mene hakemaan` ei ole enää tuettu moduulin ulkopuolella tilassa GOPATH peritty Kuitenkin muut koontikomennot, kuten "mennä rakentamaan" ja "mennä testaamaan". He jatkavat työskentelyä toistaiseksi vanhojen GOPATH-ohjelmien parissa. Lisäksi komento `go mod init` ei enää yritä tuoda moduulivaatimuksia muiden «"myyjä" (kuten Gopkg.lock).

Go 1.22 esittelee a uusi paketti io/turvaton joka tarjoaa toimintoja osoittimien ja vaarallisen muistin kanssa työskentelyyn. Tämä paketti tarjoaa menetelmiä osoittimien muuntamiseen turvallisiin ja vaarallisiin tyyppeihin ja niistä sekä muistin kopiointitoimintojen suorittamiseen ilman rajojen tarkistusta.

Kääntäjän optimointityö jatkui s.:n tulosten perusteellaPGO-koodin profilointi, ja se on se nyt kääntäjä käyttää devirtualisointityökaluja korvaamaan epäsuorat kutsut eri menetelmiä laajennetulla rivinsisäisellä lohkon suorituskyvyllä. Kun PGO otettiin käyttöön, lisätty muutos paransi useimpien ohjelmien suorituskykyä 2–14 prosenttia.

Versiossa Valitse Windows, ohjelmat, jotka linkittävät tai lataavat kirjastoja Rakenna kanssa -buildmode=c-archive o -buildmode=c-shared voi nyt käyttää Event Logging Windows (ETW) -sovellusliittymää uusien pakettien kautta suoritusaika/jäljitys y tracehook, jotka toteuttavat Go-tapahtumajäljitysprotokollan ETW-palveluntarjoajana.

Muista erottuvista muutoksista:

  • Komento mene testaamaan - kansi tulostaa nyt kattavuusyhteenvedot katetuille paketeille, joilla ei ole omia testitiedostoja.
  • os/exec, kyky määritellä kontekstiattribuutteja on lisätty, jolloin voit asettaa arvoja, kuten työhakemiston, ympäristömuuttujat ja syöttö-/tulostustiedoston kuvaajan suoritetuille komennoille.
  • Optimoitu muistinhallinta ajon aikana, mikä johtaa 1–3 %:n suorituskyvyn kasvuun ja 1 %:n muistin kulutuksen laskuun useimmissa sovelluksissa.
  • El paquete net/http, toiminto on lisätty CloseIdleConnections HTTP-asiakkaalle, joka sulkee kaikki asiakkaan äskettäin käyttämät käyttämättömät yhteydet
  • Kääntäjään on lisätty puhelun lisäysmekanismin parannettu kokeellinen toteutus (GOEXPERIMENT=newliner), joka erottaa tärkeät toiminnot ei-tärkeistä heuristiikkaa käyttäen.
  • Paketti lisätty » matematiikka/rand/v2 » vakiokirjastoon, joka tarjoaa johdonmukaisemman API:n ja käyttää nopeampia algoritmeja näennäissatunnaisten lukujen luomiseen.
  • El paquete net/http.ServeMux Lisätty mahdollisuus määrittää menetelmiä ja maskeja malleihin.

Lopuksi, jos olet kiinnostunut tietämään siitä lisää, voit tarkistaa yksityiskohdat Seuraavassa linkissä.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.