GO Team představil Go 1.14 Oznámení o vydání, nová verze programovacího jazyka open source vyvinutého společností Google. Jak bylo slíbeno, tato verze nepřesáhla měsíc únor a Go Team nepřestal děkovat všem, kteří byli tak laskaví, aby přispěli k designu této verze, buď prostřednictvím komentářů poskytnutých pro tento účel a také pro ty, kteří se zúčastnili beta testu, nebo vydáním kódů, hlášením chyb a odesláním komentářů.
Až dosud, Tým GO se snažil udržet výzvu, kterou zahájil Rob Pike, jeden ze tří tvůrců Golangu, který Chtěl jsem, aby tento jazyk usnadnil a zrychlil rozsáhlé programování. Protože syntaxe Go je založena na známých prvcích jazyka C s jednotlivými výpůjčkami z jazyka Python. Jazyk je dostatečně stručný, ale kód je snadno čitelný a srozumitelný.
Go kód je kompilován do samostatných binárních spustitelných souborů které běží nativně bez použití virtuálního stroje (profily, ladicí moduly a další subsystémy pro odstraňování problémů jsou integrovány za běhu jako runtime komponenty), které umožňuje výkon srovnatelný s C.
Projekt byl původně vyvinut s ohledem na vícevláknové programování a efektivní práci ve vícejádrových systémech, dokonce poskytuje prostředky implementované na úrovni operátora pro organizaci paralelních výpočtů a interakce mezi paralelními metodami.
Jazyk také poskytuje integrovanou ochranu proti oblastem přetečení bloku přidělené paměti a poskytuje možnost používat garbage collector.
Přejít na hlavní novinky 1.14
Zásadní změna v této nové verzi se týká nový modulový systém v příkazu go pro široké použití, je ve výchozím nastavení povoleno a doporučuje se pro správu závislostí místo GOPATH.
Nový systém modulů obsahuje kompatibilitu vestavěné verze, nástroje pro doručování balíků a vylepšený systém správy závislostí. Pomocí modulů vývojáři již nejsou povinni pracovat ve stromu GOPATH, mohou explicitně definovat závislosti na verzích a vytvářet opakovatelné sestavy.
Navíc, vlákna již nebudou muset viset donekonečna, jak je tomu výše v případě smyčky bez volání funkce, protože Go Scheduler pracuje na kontrole určité možné doby provádění aktuální rutiny během volání funkce před jejím odstraněním z vlákna do otevřeného prostoru a umožněním provedení nové rutiny. To bude mít dopad, pokud jde o nižší latenci v Go 1.14.
Další změnou je sPřidaná podpora pro vkládání rozhraní se sadou překrývajících se metod. Metody integrovaného rozhraní nyní mohou mít stejná jména a stejné podpisy jako metody v existujících rozhraních. Explicitně deklarované metody zůstávají jedinečné jako dříve.
Na druhou stranu výkon výrazu „odložit“ byl zvýšen, jehož použití se nyní téměř neliší v rychlosti od přímého volání na línou funkci, což vám umožní použít líný začátek funkce v kódu citlivém na výkon.
K dispozici jsou také asynchronní preemptivní preference- Smyčky, které neobsahují volání funkcí, mohou nyní vést k zablokování plánovače nebo ke zpoždění začátku uvolňování paměti.
Účinnost systému přidělování paměťových stránek byla vylepšena, který má nyní v konfiguracích s velkými hodnotami GOMAXPROCS podstatně méně konfliktů zámků.
Výsledkem bylo snížení zpoždění a zvýšení výkonu při intenzivním paralelním přidělování velkých bloků paměti.
Už ne najdete úplnější seznam těchto nových funkcí Clave v poznámkách k vydání GO 1.14.
Tato nová verze bude také fungovat v systému macOS 10.11 El Capitan a bude na této platformě stále podporovat 32bitové binární soubory. Může to být nejnovější verze, která také podporuje 32bitové binární soubory na jiných platformách, jako jsou watchOS, iOS, iPadOS a tvOS.