Så fungerar Go (programmeringsspråk)
Go (Golang) är ett öppen källkod-programmeringsspråk från Google lanserat 2009. Det kombinerar C:s prestanda med enkel syntax utan klasser eller arv. Parallellism är inbyggd via goroutiner och kanaler. Go kompilerar till en enda binärfil utan externa beroenden och har en inbyggd skräpsamlare för automatisk minneshantering.
Go, ofta kallat Golang, är ett öppen källkod-programmeringsspråk som Google lanserade 2009. Det designades av Robert Griesemer, Rob Pike och Ken Thompson med målet att skapa ett språk som kombinerar C:s prestanda med Pythons enkelhet och som är särskilt anpassat för moderna flertrådade och nätverksbaserade system.
Syntaxen i Go är medvetet avskalad. Det finns inga klasser, inget arv och ingen överlagring av operatorer. Istället använder Go strukturer (structs) för datamodellering och gränssnitt (interfaces) för polymorfism. Ett gränssnitt uppfylls implicit: om en typ har rätt metoder anses den implementera gränssnittet, utan att du behöver deklarera det explicit.
Parallellism är inbyggd i språket via goroutiner och kanaler. En goroutin är en lättviktig tråd som startas med nyckelordet go framför ett funktionsanrop. Tusentals goroutiner kan köra samtidigt med minimal minnesoverhead. Kanaler (channels) låter goroutiner kommunicera säkert med varandra utan delat minne och manuella lås.
Go kompileras till maskinkod och producerar en enda binärfil utan externa beroenden, vilket gör distribution enkel. Kompileringen är snabb, ofta under en sekund för medelstora projekt. Standardbiblioteket är omfattande och inkluderar HTTP-server, JSON-hantering, kryptografi och databasaccess direkt ur lådan.
Språket används brett inom molninfrastruktur. Docker, Kubernetes och Terraform är alla skrivna i Go, och det är ett populärt val för API-servrar, kommandoradsverktyg och mikrotjänster.
Vanliga frågor
- Vad är Go (Golang)?
- Go är ett öppen källkod-programmeringsspråk från Google, designat för att kombinera C:s prestanda med Pythons enkelhet, särskilt för nätverksbaserade system.
- Vad är en goroutin?
- En goroutin är en lättviktig tråd i Go som startas med nyckelordet 'go'. Tusentals goroutiner kan köras samtidigt med minimalt minnesavtryck.
- Varför har Go inga klasser?
- Go använder medvetet structs och interfaces istället för klasser och arv för att hålla språket enkelt och undvika komplexitet som hierarkiskt arv skapar.
- Vad används Go till?
- Go är populärt för webbservrar, mikrotjänster, CLI-verktyg och molninfrastruktur. Docker och Kubernetes är skrivna i Go.