Go programmikeele 1.25 väljaanne

Pärast kuuekuuist arendust esitati Google'i kaasabil ja kogukonna osalusel Go programmikeele 1.25 väljaanne. Keel ühendab kompileeritavatele keeltele iseloomuliku suure tootlikkuse skriptide keelte eelistustega, nagu koodikirjutamise lihtsus, kiire arendus ja vigade kaitse. Projekti kood levitatakse BSD-litsentsi alusel.

Go süntaks põhineb tavalistel C keele elementidel, kus on eraldi laenud Oberoni keelest. Keel on piisavalt lühike, kuid samas on kood kergesti loetav ja arusaadav. Go keeles kirjutatud kood kompileeritakse eraldi binaarfailideks, mis töötavad kohaliku taseme teenustes, ilma virtuaalmasina kasutamiseta (profiliseerimis- ja tõrkeotsingu moodulid ning muud probleemide tuvastamise alamsüsteemid integreeritakse runtime-komponentidena), mis võimaldab saavutada tootlikkuse, mis on sarnane C keeles kirjutatud programmidega.

Projekt on algselt välja töötatud silmas pidades mitme südamiku süsteemide tõhusat töötlust ja mitme lõime programmeerimist. Näiteks on operaatorite tasemel välja töötatud vahendid paralleelsete arvutuste ja paralleelselt töötavate meetodite vaheliseks suhtlemiseks. Keel pakub ka sisseehitatud kaitsevahendeid mälu piire ületamise eest ning võimaldab prügikoguja kasutamist.

Uue väljaande muudatused:

  • Eksperimentaalne prügikoguja «greenteagc» on lisatud, et parandada väikeobjektide loomise ja skaneerimise jõudlust. Rakendustes, kus prügikogumine on aktiivne, on «greenteagc» kasutamisel märgata prügikogumise tegevuskulude vähenemist 10—40%.
  • Eksperimentaalsed paketid encoding/json/v2 ja encoding/json/jsontext on lisatud. Esimene paketis on ümber töötatud kõrge jõudlusega versioon paketist encoding/json. Teine pakett pakub funktsioone JSON süntaksi madala taseme töötlemiseks.
  • Uus paket testing/synctest on lisatud, et testida sünkroniseerimist erinevate lõimede vahel paralleelselt töötavas koodis.
  • Meeskonnas „go build“ on vaikevalikuks seatud suvand „-asan“, mis kontrollib mälulekkeid programmi lõppemisel.
  • Käsku „go vet“ on lisatud uued analüsaatorid „waitgroup“ ja „hostport“, et kontrollida sync.WaitGroup.Add ja fmt.Sprintf(„%s:%d“, host, port) vale kasutamist.
  • GOMAXPROCS väärtuse arvutamisel ei määrata enam lihtsalt saadavalolevate loogiliste CPU-de arvu, vaid arvestatakse ka konteinerites rakendatavaid CPU jõudluse piiranguid.
  • Kompilaatoris ja linkeris on sisse viidud tugi DWARF5 formaadis silumisteabe genereerimiseks, mis tagab andmete kompaktselt esitlemise.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster