Ale langaj pwogramasyon lage 1.14

Entwodwi lage langaj pwogramasyon Ale 1.14, ki ap devlope pa Google ak patisipasyon kominote a kòm yon solisyon ibrid ki konbine pèfòmans segondè nan lang konpile ak avantaj ki genyen nan lang scripting tankou fasilite nan ekri kòd, vitès nan devlopman ak pwoteksyon erè. Kòd pwojè distribiye pa anba lisans BSD.

Sentaks Go a baze sou eleman abitye nan lang C ak kèk prete nan lang Python. Lang lan byen kout, men kòd la fasil pou li epi konprann. Kòd Go konpile nan ègzèkutabl binè otonòm ki kouri natif natal san yo pa itilize yon machin vityèl (profilage, debogaj, ak lòt sous-sistèm deteksyon pwoblèm ègzekutabl yo entegre kòm konpozan ègzekutabl), ki pèmèt ou reyalize pèfòmans ki konparab ak pwogram C yo.

Pwojè a okòmansman devlope ak yon je nan pwogram milti-threaded ak operasyon efikas sou sistèm milti-debaz, ki gen ladan bay mwayen nan nivo operatè pou òganize informatique paralèl ak entèraksyon ant metòd paralèl egzekite. Lang lan tou bay pwoteksyon entegre kont blòk memwa ki twò atribye yo epi li bay kapasite pou sèvi ak yon pèseptè fatra.

Prensipal la inovasyonprezante nan Go 1.14 lage:

  • Nouvo sistèm modil la nan lòd "ale" la deklare pare pou itilizasyon jeneral, aktive pa default, epi rekòmande pou jesyon depandans olye pou yo GOPATH. Nouvo sistèm modil la gen sipò vèsyon entegre, kapasite livrezon pake, ak jesyon depandans amelyore. Avèk modil, devlopè yo pa mare ankò nan travay nan yon pyebwa GOPATH, yo ka defini klèman depandans vèsyon, epi kreye bati ki ka repete.
  • Te ajoute sipò pou entegre interfaces ak yon seri metòd sipèpoze. Metòd ki soti nan yon koòdone entegre kapab kounye a gen menm non ak siyati kòm metòd nan koòdone ki egziste deja. Metòd deklare klèman rete inik tankou anvan.
  • Pèfòmans ekspresyon "difere" la te amelyore, sa ki fè li prèske osi vit ke rele yon fonksyon difere dirèkteman, sa ki pèmèt ekzekisyon fonksyon difere nan kòd pèfòmans-sansib.
  • Yo bay preemption asynchrone nan coroutines (goroutines) - bouk ki pa genyen apèl fonksyon kapab kounye a mennen nan enpas planifikatè oswa retade kòmansman koleksyon fatra.
  • Efikasite sistèm alokasyon paj memwa a te amelyore e kounye a gen anpil mwens diskisyon fèmen nan konfigirasyon ki gen gwo valè GOMAXPROCS. Rezilta a se redwi latansi ak ogmante debi pandan y ap distribye yon gwo blòk memwa.
  • Bloke te optimize ak kantite switch kontèks yo te redwi lè w ap kouri timer entèn yo itilize nan tan an.Apre, time.Tick, net.Conn.SetDeadline fonksyon.
  • Nan lòd la ale, drapo "-mod = machann" la aktive pa default si gen yon anyè machann nan rasin lan, ki gen entansyon pou delivre depandans ekstèn mare nan yon vandè espesifik. Te ajoute yon drapo separe "-mod=mod" pou chaje modil yo nan kachèt modil la olye yo soti nan anyè "machann". Si fichye go.mod la se lekti sèlman, drapo "-mod = readonly" yo mete pa default si pa gen okenn anyè "machann" an tèt. Te ajoute drapo "-modfile=file" pou presize yon altènatif dosye go.mod olye de youn nan anyè rasin modil la.
  • Te ajoute varyab anviwònman an GOINSECURE, lè yo mete, kòmandman ale a pa mande pou itilize HTTPS ak sote chèk sètifika lè chaje modil dirèkteman.
  • Konpilatè a te ajoute "-d=checkptr" drapo a, aktive pa default, pou tcheke kòd pou konfòmite ak règ yo pou itilize san danje nan unsafe.Pointer.
  • Yon nouvo pake enkli nan livrezon an hash/maphash ak fonksyon hash ki pa kriptografik pou kreye tab hash pou sekans byte abitrè oswa fisèl.
  • Te ajoute sipò eksperimantal pou platfòm RISC-V 64-bit sou Linux.
  • Te ajoute sipò pou FreeBSD sou sistèm ARM 64-bit.

Sous: opennet.ru

Add nouvo kòmantè