Objavljen GO Team Go 1.14 najava izdanja, nova verzija programskog jezika otvorenog koda koju je razvio Google. Kao što je i obećano, ovo izdanje nije premašilo mjesec veljaču i Go Team nije prestao zahvaljivati svima koji su bili ljubazni dati svoj doprinos dizajnu ove verzije, bilo kroz komentare dane u tu svrhu, a također i za one koji su sudjelovali u beta testu, ili izdavanjem kodova, prijavljivanjem grešaka i podnošenjem komentara.
Do sada, GO Team nastojao je održati izazov koji je pokrenuo Rob Pike, jedan od trojice stvaratelja Golanga, koji Želio sam da ovaj jezik olakša i ubrza programiranje velikih razmjera. Budući da se Go-ova sintaksa temelji na poznatim elementima jezika C s pojedinačnim posuđenicama iz jezika Python. Jezik je dovoljno jezgrovit, ali kôd je lak za čitanje i razumijevanje.
Go kod se kompajlira u zasebne binarne izvršne datoteke koji se pokreću izvorno bez upotrebe virtualnog stroja (profili, moduli za otklanjanje pogrešaka i drugi podsustavi za rješavanje problema integrirani su u vrijeme izvođenja kao runtime komponente), koji omogućuje izvedbu usporedivu s C.
Projekt je u početku razvijen imajući u vidu programiranje s više niti i učinkovit rad u višejezgrenim sustavima, čak i pružajući implementirana sredstva na razini operatora za organiziranje paralelnog računanja i interakcije između paralelnih metoda.
Jezik također pruža ugrađenu zaštitu od dodijeljenih područja prelijevanja memorijskog bloka i pruža mogućnost korištenja sakupljača smeća.
Glavne nove značajke Go 1.14
Glavna promjena u ovoj novoj verziji odnosi se na novi modulni sustav u naredbi go za široku upotrebu, omogućen je prema zadanim postavkama i preporučuje se za upravljanje ovisnostima umjesto GOPATH.
Novi sustav modula sadrži ugrađenu kompatibilnost verzija, alate za dostavu paketa i poboljšani sustav upravljanja ovisnostima. Uz pomoć modula, programeri više nisu dužni raditi unutar stabla GOPATH, mogu eksplicitno definirati ovisnosti temeljene na verzijama i stvoriti ponovljive sklopove.
Osim toga, niti više neće morati visjeti unedogled, kao što je to slučaj u gornjem slučaju s petljom bez pozivanja funkcije, jer Go Scheduler radi na provjeri određenog mogućeg vremena izvršavanja trenutne rutine tijekom poziva funkcije prije uklanjanja iz niti kako bi otvorio prostor i omogućio izvršavanje novih rutina. To će utjecati na manju latenciju u Go 1.14.
Druga promjena je sDodana podrška za ugrađivanje sučelja s nizom preklapajućih metoda. Metode ugrađenog sučelja sada mogu imati ista imena i iste potpise kao metode u postojećim sučeljima. Eksplicitno deklarirane metode ostaju jedinstvene kao i prije.
S druge strane povećana je izvedba izraza "odgoditi", čija se upotreba sada gotovo ne razlikuje po brzini od izravnog poziva na lijenu funkciju, što vam omogućuje da koristite lijeni početak funkcije u kodu osjetljivom na performanse.
Također je osigurana asinkrona preventivna prednost- Petlje koje ne sadrže pozive funkcija sada mogu dovesti do zastoja planera ili kašnjenja u početku sakupljanja smeća.
Poboljšana je učinkovitost sustava za dodjelu memorijske stranice, koji sada ima znatno manje sukoba zaključavanja u postavkama s velikim vrijednostima GOMAXPROCS.
Kao rezultat, kašnjenja su smanjena, a performanse povećane intenzivnom paralelnom dodjelom velikih memorijskih blokova.
Ne više možete pronaći cjelovitiji popis tih novih značajki ključ u napomenama o izdanju GO 1.14.
Također, ova nova verzija će raditi na macOS 10.11 El Capitan i dalje će podržavati 32-bitne binarne datoteke na ovoj platformi. Ovo je možda najnovija verzija koja također podržava 32-bitne binarne datoteke na drugim platformama poput watchOS-a, iOS-a, iPadOS-a i tvOS-a.