Grow with AppMaster Grow with AppMaster.
Become our partner arrow ico

Go 1.18 officieel uitgebracht met baanbrekende generieke mogelijkheden

Go 1.18 officieel uitgebracht met baanbrekende generieke mogelijkheden

De langverwachte programmeertaal Go 1.18 is eindelijk gelanceerd als productieversie, met zijn baanbrekende generieke mogelijkheden. Dit is de belangrijkste verandering in de Go-programmeertaal sinds de eerste lancering van Go 1.0 in 2012. Go 1.18 kan vanaf 15 maart worden gedownload op go.dev.

Generics is de meest gevraagde functie van Go-programmeurs en biedt ondersteuning voor generieke code met behulp van geparametriseerde typen. Volgende releases zijn gepland om verdere ondersteuning te bieden voor meer ingewikkelde generieke use-cases. Gebruikers hebben toegang tot informatie over deze functie via een generieke zelfstudie en release-opmerkingen .

De Go-taalserver, gopls, samen met de Visual Studio Code Go-extensie ondersteunen nu generieke versies. Raadpleeg de documentatie voor instructies over het installeren van gopls met generieke geneesmiddelen.

De productieversie van Go 1.18 volgt de bèta- en release-kandidaatfasen. De eerste release was gepland voor februari 2022, maar werd uitgesteld tot half maart. Go 1.18 Beta 1, die op 14 december debuteerde, was de belangrijkste preview-release van de door Google ontwikkelde open-sourcetaal ter ondersteuning van generieke code met behulp van geparametriseerde typen. Deze bètaversie was ook de meest gedownloade Go-bèta ooit, met twee keer zoveel downloads als elke eerdere bètaversie.

Generiek programmeren is een verbetering die de weergave van functies en gegevensstructuren in een generieke vorm mogelijk maakt, waarbij typen worden weggelaten. Dit vergemakkelijkt het delen van code en vereenvoudigt het bouwen van programma's.

Het Go-team adviseerde om voorzichtig te zijn bij het benaderen van de nieuwe generieke mogelijkheden, aangezien nieuwe bugs kunnen opduiken bij elke belangrijke nieuwe functie. Bovendien is ondersteuning voor specifieke subtiele gevallen, zoals bepaalde soorten recursieve generieke typen, uitgesteld tot toekomstige releases.

Ondanks deze waarschuwing zijn early adopters naar verluidt tevreden met de nieuwe functie. Een korte handleiding om aan de slag te gaan met generieke geneesmiddelen is hier gepubliceerd. Hoewel Go interfacetypes had, een vorm van generieke programmering, miste het bepaalde aspecten die Go-ontwikkelaars van generieke geneesmiddelen wilden, zoals gemeld in een blogpost van juli 2019. Voorstanders van Go-generiek zochten bijvoorbeeld naar functies als Reverse zonder zich zorgen te maken over het elementtype van een slice.

De vrijgegeven opmerkingen voor Go 1.18 belichten ook de andere belangrijke functies, zoals:

  • Ingebouwde ondersteuning voor het schrijven van op fuzzing gebaseerde tests om invoer te identificeren waardoor een programma vastloopt of ongeldige antwoorden retourneert. Deze functie is experimenteel in Go 1.18.
  • Een Go-werkruimtemodus waarmee ontwikkelaars tegelijkertijd met meerdere Go-modules kunnen werken, essentieel voor uitgebreidere projecten.
  • Een verbeterde go-versie -m-opdracht die nu builddetails vastlegt, zoals compilervlaggen.
  • Een GOAMD64-omgevingsvariabele waarmee gebruikers kunnen kiezen uit vier versies van de AMD64-architectuur.
  • Verbeteringen in CPU-prestaties op Apple M1, ARM64 en PowerPC64 met maar liefst 20%, toe te schrijven aan de uitbreiding van de Go 1.17 register ABI-oproepconventie naar deze architecturen.
  • De Windows/Arm- en Windows/Arm64-poorten ondersteunen nu niet-coöperatieve pre-emption, waardoor deze mogelijkheid beschikbaar is voor alle vier de Windows-poorten en mogelijk subtiele bugs worden verholpen die optreden bij het aanroepen van Win32-functies die gedurende langere tijd blokkeren.
  • Meer voorspelbare overhead voor afvalinzameling wanneer niet-heap-bronnen van GC-werk significant zijn, dankzij de opname van deze bronnen bij het bepalen van de frequentie van afvalinzameling.

Go 1.17 werd uitgebracht in augustus. Go is vooral bekend vanwege het gebruik ervan bij de ontwikkeling van het Docker-containersysteem en is ontworpen als een eenvoudige, gemakkelijk te leren programmeertaal met robuuste ondersteuning voor gelijktijdigheid. Voor ontwikkelaars die no-code -oplossingen willen verkennen, zoals AppMaster -platform, om web-, mobiele en backend-applicaties te maken, kan het de ontwikkeling van applicaties helpen versnellen en kosten verlagen, terwijl technische schulden worden geëlimineerd.

Gerelateerde berichten

AppMaster op BubbleCon 2024: No-Code Trends verkennen
AppMaster op BubbleCon 2024: No-Code Trends verkennen
AppMaster nam deel aan BubbleCon 2024 in New York, waar ze inzichten opdeden, netwerken uitbreidden en mogelijkheden verkenden om innovatie in de no-code-ontwikkelingssector te stimuleren.
FFDC 2024 Wrap-Up: Belangrijkste inzichten van de FlutterFlow Developers Conference in NYC
FFDC 2024 Wrap-Up: Belangrijkste inzichten van de FlutterFlow Developers Conference in NYC
FFDC 2024 verlichtte New York City en bracht ontwikkelaars baanbrekende inzichten in app-ontwikkeling met FlutterFlow. Met sessies onder leiding van experts, exclusieve updates en ongeëvenaard netwerken was dit een evenement dat u niet mocht missen!
Ontslagen in de techsector in 2024: de aanhoudende golf die innovatie beïnvloedt
Ontslagen in de techsector in 2024: de aanhoudende golf die innovatie beïnvloedt
Met 60.000 ontslagen bij 254 bedrijven, waaronder giganten als Tesla en Amazon, zal 2024 een aanhoudende golf van ontslagen in de techsector inluiden, wat het innovatielandschap zal veranderen.
Ga gratis aan de slag
Geïnspireerd om dit zelf te proberen?

De beste manier om de kracht van AppMaster te begrijpen, is door het zelf te zien. Maak binnen enkele minuten uw eigen aanvraag met een gratis abonnement

Breng uw ideeën tot leven