Vad kan jag använda Golang till?

Blog Post by Stefan Holmberg

Go (Golang) är ett riktigt användbart språk, det vi kallar multipurpose - även om det knappast kan sägas vara universallösningen som man alltid ska använda. Låt oss utforska några viktiga aspekter/features i språket- som fäller avgörandet för vad som är "rätt" och "fel" användningsområden

Bakgrund, användningsområden för Go

Alltså det ÄR ju multipurpose - vi kan göra grafiska ("Windows") applikationer, webbapplikationer, microservices, apier etc etc. Det funkar på Windows, Linux, Mac etc

Och det ÄR kompilerande. Men låt oss kika på ett område där Go generellt inte rekommenderas (av mig i alla fall) :

IOT
Här kommer vanlig C-kod INTE trängas undan av Go - varför? Go runtime är helt enkelt inte lightweight. Eller den är det (en Hello World-applikation kompilerar till 1.7MB) jämfört med Java och C# som har enorma runtimes. Men C är oslagbart där.

PS 1.7MB är dock galet litet om man ser till vad man får. Du får en runtime som "interceptar" alla utgående IO anrop och gör all async/await åt dig. Dvs man har en inbyggd scheduler/trådhanterare som bara lägger aktiva s.k Goroutines på OS-trådar. Dvs vi behöver inte tänka på asynkrona anrop nånstans. Hela Goroutineimplementationen (tänk lightweight threads - med små fast växande stackar) är ju också vad vi får med i runtime.

Men sanningen är ju också att Golang har ju garbage collector, dvs realtime eller "near realtime" applikationer kommer aldrig att gå att bygga. En garbage collector kommer ge inkonsistent prestanda. Så är det alltid...

Så sammanfattning;

Vad ska vi bygga med Golang:

Vad ska vi inte bygga med Golang:

Sugen att lära dig mer om webutveckling med Golang? Vår Go kurs kommer ge dig såväl teoretisk som praktisk insikt i vad som är möjligt, vad är best practice, vilka problem brukar kunna uppstå etc.

© Copyright Systementor AB. All Rights Reserved
Version: 1.0.20221129.1-b09c551