Vai a lingua di prugrammazione versione 1.14

Intruduttu liberazione di lingua di prugrammazione Andà 1.14, chì hè sviluppatu da Google cù a participazione di a cumunità cum'è una soluzione hibrida chì combina l'altu rendiment di e lingue compilate cù i vantaghji di e lingue di scrittura cum'è a facilità di scrittura di codice, a velocità di sviluppu è a prutezzione di l'errore. Codice di prughjettu distribuitu da sottu a licenza BSD.

A sintassi di Go hè basatu annantu à elementi familiari di a lingua C cù qualchi prestiti da a lingua Python. A lingua hè abbastanza cuncisa, ma u codice hè faciule da leghje è capisce. U codice Go hè compilatu in eseguibili binari autonomi chì funzionanu in modu nativu senza aduprà una macchina virtuale (profiling, debugging, è altri sottosistemi di rilevazione di prublemi di runtime sò integrati cum'è cumpunenti runtime), chì permette di ottene prestazioni paragunabili à i prugrammi C.

U prugettu hè inizialmente sviluppatu cun un ochju nantu à a prugrammazione multi-threaded è l'operazione efficiente nantu à i sistemi multi-core, cumprese i mezi implementati à u livellu di l'operatore per l'urganizazione di l'informatica parallela è l'interazzione trà i metudi paralleli. A lingua furnisce ancu una prutezzione integrata contr'à l'overruns di blocchi di memoria allocati è furnisce a capacità di utilizà u cullettore di basura.

menu innovazioniintroduttu in a versione Go 1.14:

  • U novu sistema di moduli in u cumandimu "vai" hè dichjaratu prontu per l'usu generale, attivatu per difettu, è cunsigliatu per a gestione di a dependenza invece di GOPATH. U novu sistema di moduli presenta un supportu di versione integrata, capacità di consegna di pacchetti, è una gestione di dependenza mejorata. Cù i moduli, i sviluppatori ùn sò più ligati à travaglià in un arbre GOPATH, ponu definisce esplicitamente dipendenze versionate è creanu custruzzioni ripetibili.
  • Aggiuntu supportu per incrustà interfacce cù un inseme di metudi sovrapposti. I metudi da una interfaccia integrata ponu avà avè i stessi nomi è signature cum'è metudi in l'interfacce esistenti. I metudi esplicitamente dichjarati restanu unichi cum'è prima.
  • A prestazione di l'espressione "differita" hè stata migliurata, facendu guasi cum'è chjamà una funzione differita direttamente, chì permette l'esekzione di funzione differita in codice sensibile à u rendiment.
  • A preemption asincrona di coroutines (goroutines) hè furnita - i loops chì ùn cuntenenu micca e chjama di funzione ponu avà potenzialmente purtà à un bloccu di pianificazione o ritardà l'iniziu di a raccolta di basura.
  • L'efficienza di u sistema di allocazione di pagine di memoria hè stata migliurata è ci sò avà significativamente menu contenzioni di serratura in cunfigurazioni cù grandi valori GOMAXPROCS. U risultatu hè una latenza ridutta è un rendimentu aumentatu mentre si distribuisce simultaneamente in modu intensivu grandi blocchi di memoria.
  • U serratura hè stata ottimizzata è u numeru di cunversione di u cuntestu hè stata ridutta quandu eseguisce timers interni utilizati in u tempu.Dopu, time.Tick, net.Conn.SetDeadline funzioni.
  • In u cumandamentu go, a bandiera "-mod = venditore" hè attivata per difettu s'ellu ci hè un repertoriu di venditore in a radica, destinatu à furnisce dipendenze esterne ligati à un venditore specificu. Aggiuntu una bandiera separata "-mod = mod" per carricà i moduli da a cache di u modulu invece di u cartulare "vendor". Se u schedariu go.mod hè di sola lettura, a bandiera "-mod = readonly" hè stabilita per difettu se ùn ci hè micca u top directory "vendor". Aggiuntu "-modfile = file" flag per specificà un schedariu alternativu go.mod invece di quellu in u cartulare radicali di u modulu.
  • Aggiunta a variabile di l'ambiente GOINSECURE, quandu hè stabilitu, u cumandamentu di andà ùn hè micca bisognu di l'usu di HTTPS è salta a verificazione di certificatu quandu caricate moduli direttamente.
  • U compilatore hà aghjustatu a bandiera "-d=checkptr", attivata per automaticamente, per verificà u codice per u rispettu di e regule per l'usu sicuru di unsafe.Pointer.
  • Un novu pacchettu hè inclusu in a spedizione hash/maphash cù funzioni hash non criptografiche per creà tabelle di hash per sequenze di byte arbitrarie o stringhe.
  • Aggiuntu supportu sperimentale per a piattaforma RISC-V 64-bit in Linux.
  • Aghjunghje supportu per FreeBSD in sistemi ARM 64-bit.

Source: opennet.ru

Add a comment