Lär dig Go-appikon

Lär dig Go

Utbildning · Gratis · iOS & Android · CoddyKit

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å.

App Store — Ladda ner gratisGoogle Play — Ladda ner gratis
Pris
Gratis, uppgradering till Pro
Plattformar
iOS och Android
Språk
22
Åldersgräns
4+
Kräver
iOS 15.1 eller senare
Startsida för Go-inlärningsvägen med knappen Starta första lektionen, en ring för dagens mål och ett kort för funktionsförslagKursöversikt för kursen Go Kickoff: Concepts & Setup med en förloppsindikator, en kostnadsfri första lektionsgrupp och knappen Byt kurs
51Kurser, A1 till C1
-raceConcurrency Lab med race detector
DagligenEn ny kata varje dag
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

Startsida för Go-inlärningsvägen med knappen Starta första lektionen, en ring för dagens mål och ett kort för funktionsförslag
InlärningsvägStartsidan öppnas på inlärningsvägen med en startknapp, ett dagligt mål och en länk till Skill Hub.
Kursöversikt för kursen Go Kickoff: Concepts & Setup med en förloppsindikator, en kostnadsfri första lektionsgrupp och knappen Byt kurs
KursöversiktDen första kursen, Go Kickoff: Concepts & Setup, är markerad som kostnadsfri och består av tre korta lektioner.
Kodredigerare som visar ett Go-program med package main, import fmt och fmt.Println-anrop bredvid en lektion om det första programmet
KodredigerareEn lektion med namnet Ditt första program, där kodredigeraren är öppen på en fil med package main och en körknapp visas.
AI-chatt med föreslagna uppmaningar för att förklara viktiga koncept, ge tips, förhöra mig och skapa en inlärningsplan
AI MentorFyra föreslagna uppmaningar startar chatten: förklara de viktiga koncepten, ge tips, förhör mig eller skapa en plan.
Startsida med ljust tema, inlärningsvägen, ett dagligt mål och Skill Hub
StartsidaSamma startsida med ljust tema, där det dagliga målet och Skill Hub visas under den aktiva kursen.

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.

  1. 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.

  2. 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.

  3. Structs, pekare och gränssnitt

    Structs och metoder, värdemottagare kontra pekarmottagare, pekare, implicita gränssnitt och duck typing samt embedding för komposition.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  1. 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.

  2. 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.

  3. Ö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.

Kom igång

Skriv din första goroutine idag

Gratis att komma igång på iOS och Android, på 22 språk.

App Store — Ladda ner gratisGoogle Play — Ladda ner gratis
Senast granskad · Publicerad av CoddyKit · Integritetspolicy
Tillgänglig på iOS och Android.