Die vrystelling van die programmeertaal Go 1.22 word aangebied, wat deur Google ontwikkel word met die deelname van die gemeenskap as 'n hibriede oplossing wat die hoë werkverrigting van saamgestelde tale kombineer met sulke voordele van skriftale as gemak van skryf van kode, vinnige ontwikkeling en foutbeskerming. Die projekkode word onder die BSD-lisensie versprei.
Go se sintaksis is gebaseer op bekende elemente van die C-taal met 'n paar ontlenings van die Oberon-taal. Die taal is redelik bondig, maar die kode is maklik om te lees en te verstaan. Go-kode word saamgestel in afsonderlike binêre uitvoerbare lêers wat inheems uitgevoer word, sonder om 'n virtuele masjien te gebruik (profilering, ontfoutingsmodules en ander runtime probleem opsporing substelsels is geïntegreer as runtime komponente), wat voorsiening maak vir prestasie vergelykbaar met C programme.
Die projek is aanvanklik ontwikkel met die oog op multi-draad programmering en doeltreffende werking op multi-kern stelsels, insluitend die verskaffing van middele geïmplementeer op die operateur vlak vir die organisering van parallelle rekenaar en interaksie tussen parallel uitgevoer metodes. Die taal bied ook ingeboude beskerming teen oorskryding van toegekende geheueblokke en bied die vermoë om die vullisverwyderaar te gebruik.
Onder die veranderinge in die nuwe weergawe:
- Ondersteuning vir die definisie van reekse van heelgetalle is by "vir"-lusse bygevoeg, byvoorbeeld, om deur waardes van 0 tot 9 te herhaal, kan jy nou die "for i := reeks 10 {...}"-lus gebruik.
- Eksperimentele (GOEXPERIMENT=rangefunc) ondersteuning vir reeksfunksies by vir lusse bygevoeg, sodat jy 'n funksie as 'n iterator kan spesifiseer. Byvoorbeeld, "vir i, x := reeks skywe. Agterwaarts(e) {...}"
- Het 'n langdurige probleem opgelos met for-lusse wat oproepe na koroutines (goroutines) veroorsaak het om lusveranderlikes oor iterasies te deel. Byvoorbeeld, die kodewaardes := []string{"a", "b", "c"} vir _, v := reekswaardes { go func() { fmt.Println(v) klaar
Bron: opennet.ru
