Lär dig Go
Lär dig Go — En Golang-guide med kompilator, race detector och dagliga katas i mobilen
Lär dig Go är en kostnadsfri Golang-guide för iOS och Android för nybörjare och yrkesverksamma utvecklare, med en Go-kompilator och editor som kör din kod med en riktig Go toolchain (internetanslutning krävs). Kontrollera den med gofmt, go vet och race detector, och gå igenom 51 kurser – från din första fmt.Println till goroutines, REST APIs och gRPC – med en AI Mentor för de delar som inte riktigt går att förstå.
- Pris
- Gratis, uppgradering till Pro
- Plattformar
- iOS och Android
- Språk
- 22
- Åldersgräns
- 4+
- Kräver
- iOS 15.1 eller senare


Ta bort nyckelordet go och se samma arbete ta tre gånger så lång tid.
Det är det första appen låter dig göra med Go: köra tre jobb på 120 ms vardera, se att den totala tiden blir klart under 360 ms och sedan ta bort det enda nyckelordet som gjorde körningen samtidig. Hela språkets idé ryms i det enda ordet, och appen låter dig uppleva det innan den förklarar det.
Vad det är
Lär dig Go är en kostnadsfri iOS- och Android-app för att lära sig Go, det kompilerade språket bakom mycket av dagens moln- och serverprogramvara. Den innehåller 51 kurser och 203 lektioner, graderade från nybörjarnivå till avancerad nivå, en kodeditor som kör program med en riktig Go toolchain, en daglig kata, ett Concurrency Lab med en riktig race detector och en guidad bana där du bygger en egen HTTP-kärna. En AI Mentor svarar på frågor om alla lektioner.
I appen
Så här ser det ut





Kursen
Det här omfattar Go-kursen
51 kurser och 203 lektioner från appens egen kurslista, graderade från A1 till C1 och med innehåll från det första programmet till profilering och garbage collector.
Välkommen till Go och grunderna
Vad Go är och varför Google skapade språket, följt av variabler, typer och nollvärden, konstanter samt kontrollflöde med if, for och switch.
Funktioner, slices och maps
Funktioner med flera returvärden, defer och variadiska parametrar, arrayer, slices och maps samt strängar, fmt-formatering och paketet time.
Structs, pekare och gränssnitt
Structs och metoder, värdemottagare kontra pekarmottagare, pekare, implicita gränssnitt och duck typing samt embedding för komposition.
Fel, paket och standardbiblioteket
Explicit felhantering med errors.Is och errors.As, paket och moduler, fil-I/O och JSON, reguljära uttryck, sortering samt buffrad I/O.
Goroutines, kanaler och Sync
Grunderna i goroutines och kanaler, select och kanal mönster, mutexar och paketet sync, context för avbrytning samt worker pools och pipelines.
HTTP, REST och databaser
HTTP-servrar och klienter med net/http, REST API:er med Gin, middleware-mönster, database/sql med sqlx och pgx, GORM samt WebSockets.
Testning, verktyg och driftsättning
Tabellstyrda tester och deltester, kommandoradsappar med Cobra, konfiguration med Viper, strukturerad loggning med slog samt Docker-byggen i flera steg.
Avancerad Go
Generics med typparametrar och begränsningar, benchmarking och pprof-profilering, gRPC med Protocol Buffers, reflection samt minnesmodellen.
Så fungerar det
Så fungerar en session
Varje lektion är en kort text följd av kod som du kör, så att idé och praktik sker under samma tillfälle.
Läs en kort lektion
Öppna en kurs och gå igenom en enskild lektion på några minuter, med teori på klarspråk och ett litet exempel, som package main- och fmt.Println-programmet i den allra första lektionen.
Kör den med en riktig Go toolchain
Editorn skickar ditt program till en Go-runner och visar resultatet. gofmt, go vet och race detector körs på samma sätt, så appen behöver en anslutning när du trycker på kör, och ett program som kraschar visar en förklaring av felet på klarspråk.
Öva på det ur en annan vinkel
Efter ett ämne gör du quizet, löser dagens kata, tar dig igenom ett concurrency-pussel eller ber AI Mentor att förhöra dig. Varje moment betraktar samma idé på ett annat sätt, vilket gör att den fastnar.
Det här ingår
Det här ingår i appen
51
Kurser, A1 till C1
203 lektioner i 51 kurser, från grunderna i Go, slices och maps till interfaces, felhantering, goroutines, net/http, Gin, databasåtkomst, Docker-distribution, gRPC och garbage collector.
-race
Concurrency Lab med race detector
Sex körbara pussel täcker två goroutines på en channel, ett obuffrat handslag, en WaitGroup-fan-out, en räknare som tappar uppdateringar, en map med två skrivare och ett deadlock. Du kan också köra din egen kod med race detector, kostnadsfritt och utan någon daglig gräns.
Dagligen
En ny kata varje dag
En Go-övning som kontrolleras mot en tabell med testfall, inklusive dolda fall, med en referensförklaring efteråt. Den dagliga katan är gratis för alla; Pro öppnar hela biblioteket, referenslösningarna och förklaringarna.
Läkare
Go Doctor
Kontrollera om gofmt skulle skriva om din fil och tillämpa ändringen, kör go vet för att hitta problem och fråga med Pro kompilatorns escape analysis varför ett värde allokeras. Formatering är obegränsad, och go vet är begränsat till tre körningar per dag i gratisplanen.
7 steg
Bygg din egen HTTP-kärna
En guidad bana där du själv skriver requesten, responsen, handlers som funktioner, routing, path parameters, middleware och JSON med inbäddade fel – ett kontrollerat steg i taget.
AI
AI Mentor och simulerad intervju
Be AI Mentor förklara ett koncept, ge dig en färdplan eller förhöra dig. En simulerad intervju ställer fem Go-frågor på junior-, mid- eller seniornivå och poängsätter dina svar. En poängsatt intervju per vecka är gratis.
Repetition
Go Recall och Go by Example
Korta kort med ”vad skriver det här ut?” om klassiska fallgropar, som defer-ordning, nil maps och append som delar minne, plus körbara kodsnuttar från standardbiblioteket som du kan köra och redigera.
Bakgrund
Varför lära sig Go för backendutveckling, och vad skiljer språket från andra?
Go är ett statiskt typat, kompilerat språk som skapades på Google och används brett för webbtjänster, kommandoradsverktyg och molninfrastruktur. Det som gör Go attraktivt för backendutveckling är att mycket redan är inbyggt: samtidighet är en del av språket, standardbiblioteket täcker det mesta som en mindre tjänst behöver och ett program kompileras till en enda binärfil utan något annat som behöver installeras. Språket är medvetet litet, vilket gör det snabbt att läsa men innebär att nybörjare tidigt behöver lära sig en handfull ovana arbetssätt.
Goroutines och channelssamtidighet utan trådar att hantera
En goroutine är en funktion som startas med nyckelordet go, och en channel är röret som goroutines använder för att skicka värden. Tillsammans ersätter de det mesta av den manuella trådhanteringen, vilket är anledningen till att samtidighet lärs ut tidigt i stället för att lämnas till ett avancerat avsnitt.
Fel är värdeninga undantag
En Go-funktion som kan misslyckas returnerar ett error som ett vanligt andravärde, och anroparen kontrollerar det direkt där. Det innebär mer skrivande än ett try-block, men gör att varje felväg syns i koden du läser.
Implicita interfacesduck typing, kontrollerad vid kompilering
En typ uppfyller ett interface genom att helt enkelt ha rätt metoder; ingenting behöver deklareras. Det håller paketen löst kopplade och är också platsen för en klassisk Go-överraskning: ett interface som innehåller en nil-pekare är inte självt nil.
En binärfil och ett omfattande standardbibliotekdärför är driftsättning enkelt
Kompilerad Go ger en enda körbar fil, och paket som net/http, encoding/json och database/sql följer med språket. En mindre tjänst behöver ofta inget tredjepartsramverk, vilket är en anledning till att Docker-avbildningar för Go-program kan vara små.
Passar
Vem den är till för – och vem den inte är till för
Passar bra om du
- Vill du ha en Golang-kurs som du kan gå igenom i korta pass på mobilen
- Skriver du redan ett annat språk och vill se goroutines och kanaler köras i praktiken
- Siktar du på roller inom backend eller moln och vill ha Go-intervjufrågor med poängsatt feedback
- Lär du dig bättre genom små övningar och kort om vanliga fallgropar än genom långa videor
- Vill du kontrollera formatering, vet-resultat och datarace-fel i kod som du själv har skrivit
Inte rätt verktyg om du
- Behöver du köra program som importerar net/http eller använder generics i appens körmiljö, som är en Go 1.13-sandlåda
- Vill du köra kod utan anslutning, eftersom körmiljön är online
- Förväntar du dig att allt ska vara gratis: den första kursen, den dagliga katan och en daglig tilldelning av AI Mentor är gratis, medan Pro låser upp resten
- Behöver du bygga och leverera en stor tjänst med flera paket, vilket fortfarande kräver en laptop och hela verktygskedjan
Frågor
Vanliga frågor
Vilket är det bästa sättet att lära sig Golang på mobilen?
Korta lektioner plus kod som du faktiskt kör slår ensamläsning, och Go belönar praktisk körning eftersom de bästa funktionerna, goroutines och race detector, är beteendebaserade. Lär dig Go kombinerar lektioner på några minuter med en redigerare, en daglig kata och ett Concurrency Lab. Det är gratis att komma igång på iOS och Android, med 51 kurser ordnade från nybörjare till avancerad nivå.
Kan man kompilera och köra Go-kod på mobilen?
Ja, med en anslutning. Lär dig Go skickar programmet till en Go-körmiljö och visar resultatet, och samma körmiljö tillhandahåller gofmt, go vet och race detector. Koden körs inte på själva mobilen, så du måste vara online när du trycker på kör, och körmiljön har begränsningar som en liten minnestilldelning och en maximal binärstorlek.
Stöder körmiljön i appen generics?
Inte ännu. Körmiljön i Lär dig Go använder Go 1.13, och generics kom i Go 1.18, så ett program som använder typparametrar eller nyckelordet any kompileras inte där. Appen förklarar det på vanlig svenska när det händer och föreslår den äldre formen. Kursen om generics går fortfarande att läsa som en lektion.
Vad är Gos race detector och hur använder appen den?
Race detector rapporterar när två goroutines rör samma minne utan ett lås mellan sig, ett fel som bara visar sig ibland. I Lär dig Go kör Concurrency Lab övningar som en räknare som uppdateras av 200 goroutines under detektorn och låter dig lägga till en mutex och köra igen. Du kan också klistra in egen goroutine-kod och köra den under detektorn.
Vad är en Go-kata?
En kata är en liten, fokuserad övning som du löser med kod, till exempel att vända en sträng korrekt för icke-ASCII-text eller omsluta ett fel så att errors.Is fortfarande hittar det. Lär dig Go ger dig en ny daglig kata, kontrollerar funktionen mot en tabell med testfall som även innehåller dolda fall och förklarar idiomet efteråt. Den dagliga katan är gratis för alla.
Behöver jag programmeringserfarenhet för att börja?
Nej. Lär dig Go börjar med vad Go är och varför språket finns, och går sedan vidare till variabler, typer och kontrollflöde. Varje koncept förklaras på vanlig svenska innan det övas. Erfarenhet av ett annat språk hjälper dig att ta dig snabbare genom de tidiga kurserna, men den första kursen är skriven för den som börjar från noll.
Är Learn Go gratis?
Appen är gratis att ladda ner. Den första kursen är gratis, liksom den dagliga katan, en daglig tilldelning av AI Mentor, obegränsade gofmt-kontroller, obegränsat antal körningar under race detector och några go vet-körningar per dag. Pro låser upp alla kurser, tar bort annonser, ger obegränsad AI Mentor och öppnar kata-biblioteket och escape analysis.
Finns det ett certifikat i slutet?
Ja. När du klarar det avslutande provet får du ett kursintyg. Det visar arbetet du har gjort och passar bra bredvid ett litet projekt som du kan berätta om under en intervju, men det är inte en ackrediterad akademisk examen.
Hjälper Learn Go till med förberedelser inför Golang-intervjuer?
Ja. Övningsintervjun ställer fem frågor på junior-, mellan- eller seniornivå, från skillnaden mellan slices och arrayer till vad ett interface-värde innehåller vid körning, och poängsätter dina svar med feedback. Go Recall-kort tränar de vanliga fallgroparna, och svaga områden från en intervju läggs till i din repetitionskortlek. En poängsatt intervju i veckan är gratis.
Vilka plattformar och språk stöder den?
Lär dig Go finns på iOS via App Store och på Android via Google Play, och gränssnittet finns på 22 språk. Den har åldersklassificeringen 4+, så inget av materialet har någon åldersbegränsning.
Mer från CoddyKit
Tillgänglig på iOS och Android.