Lær Go
Lær Go — En Golang-opplæring med kompilator, race detector og daglige katas på mobilen
Lær Go er en gratis Golang-opplæring for iOS og Android, laget for nybegynnere og yrkesaktive utviklere. Du får en Go-kompilator og et redigeringsverktøy som kjører koden din på en ekte Go-verktøykjede (internettforbindelse er nødvendig). Sjekk koden med gofmt, go vet og race detector, og jobb deg gjennom 51 kurs – fra din første fmt.Println til goroutiner, REST APIs og gRPC – med en AI Mentor for det som ikke faller på plass.
- Pris
- Gratis, Pro-oppgradering
- Plattformer
- iOS og Android
- Språk
- 22
- Aldersgrense
- 4+
- Krever
- iOS 15.1 eller nyere


Slett go-nøkkelordet, og se det samme arbeidet ta tre ganger så lang tid.
Det er det første appen lar deg gjøre med Go: kjør tre jobber på 120 ms hver, se at totalen blir godt under 360 ms, og fjern deretter det ene nøkkelordet som gjorde dem samtidige. Hele poenget med språket ligger i dette ene ordet, og appen lar deg oppleve det før du får forklaringen.
Hva det er
Lær Go er en gratis iOS- og Android-app for å lære Go, det kompilerte språket som ligger bak mye av dagens sky- og serverprogramvare. Den inneholder 51 kurs og 203 leksjoner på nivåer fra nybegynner til avansert, et redigeringsverktøy som kjører programmer på en ekte Go-verktøykjede, en daglig kata, et Concurrency Lab med en ekte race detector og et veiledet spor der du bygger din egen HTTP-kjerne. En AI Mentor svarer på spørsmål om alle leksjoner.
Inne i appen
Slik ser den ut





Kurset
Dette dekker Go-kurset
51 kurs og 203 leksjoner fra appens egen kursliste, gradert fra A1 til C1 og med innhold fra det første programmet til profilering og garbage collector.
Velkommen til Go og det grunnleggende
Hva Go er og hvorfor Google utviklet det, deretter variabler, typer og nullverdier, konstanter og kontrollflyt med if, for og switch.
Funksjoner, slices og maps
Funksjoner med flere returverdier, defer og variadiske parametere, arrays, slices og maps, samt strenger, fmt-formatering og time-pakken.
Structs, pekere og interfaces
Structs og metoder, value- kontra pointer-receivere, pekere, implisitte interfaces og duck typing, samt embedding for komposisjon.
Feil, pakker og standardbiblioteket
Eksplisitt feilhåndtering med errors.Is og errors.As, pakker og moduler, fil-I/O og JSON, regulære uttrykk, sortering og bufret I/O.
Goroutines, channels og sync
Grunnleggende om goroutines og channels, select- og channel-mønstre, mutexer og sync-pakken, context for kansellering samt worker pools og pipelines.
HTTP, REST og databaser
HTTP-servere og -klienter med net/http, REST-API-er med Gin, middleware-mønstre, database/sql med sqlx og pgx, GORM og WebSockets.
Testing, verktøy og utrulling
Table-driven-tester og subtester, kommandolinjeapper med Cobra, konfigurasjon med Viper, strukturert logging med slog og multi-stage Docker-bygg.
Avansert Go
Generics med typeparametere og begrensninger, benchmarking og pprof-profilering, gRPC med Protocol Buffers, reflection og minnemodellen.
Slik fungerer det
Slik fungerer en økt
Hver leksjon er kort lesing etterfulgt av kode du kjører, slik at idé og øvelse skjer i samme økt.
Les én kort leksjon
Åpne et kurs og ta én enkelt leksjon på noen minutter, med teori forklart i et enkelt språk og et lite eksempel, for eksempel programmet med package main og fmt.Println i den aller første leksjonen.
Kjør det på en ekte Go-verktøykjede
Redigeringsverktøyet sender programmet ditt til en Go-kjører og viser resultatet. gofmt, go vet og race detector kjøres på samme måte, så appen trenger forbindelse når du trykker på Kjør. Hvis et program krasjer, får du en forklaring på feilen i et enkelt språk.
Øv på det fra en annen vinkel
Etter et emne kan du ta quizen, løse dagens kata, gå gjennom en samtidighetsoppgave steg for steg eller be AI Mentor quize deg. Hver aktivitet ser på den samme idéen på en annen måte, og det er det som gjør at den sitter.
Hva den inneholder
Dette følger med appen
51
Kurs, A1 til C1
203 leksjoner fordelt på 51 kurs, fra Go-grunnlag, slices og maps til grensesnitt, feilhåndtering, gorutiner, net/http, Gin, databasetilgang, Docker-distribusjon, gRPC og garbage collector.
-race
Concurrency Lab med race detector
Seks kjørbare oppgaver dekker to gorutiner på én kanal, et håndtrykk uten buffer, en fan-out med WaitGroup, en teller som mister oppdateringer, et map med to skrivere og en deadlock. Du kan også kjøre din egen kode med race detector, gratis og uten en daglig grense.
Daglig
En ny kata hver dag
En Go-oppgave som kontrolleres mot en tabell med testtilfeller, inkludert skjulte tilfeller, med en referanseforklaring etterpå. Den daglige kataen er gratis for alle; Pro åpner hele biblioteket, referanseløsningene og forklaringene.
Doktor
Go Doctor
Sjekk om gofmt ville skrevet om filen din, og bruk det til å gjøre endringen. Kjør go vet for å finne problemer, og spør med Pro compilerens escape-analyse hvorfor en verdi allokeres. Formatering er ubegrenset, mens go vet er begrenset til tre kjøringer om dagen i gratisabonnementet.
7 trinn
Bygg din egen HTTP-kjerne
Et veiledet spor der du selv skriver forespørselen, svaret, handlere som funksjoner, ruting, path-parametere, middleware og JSON med innpakkede feil – ett kontrollert trinn om gangen.
AI
AI Mentor og prøveintervju
Be AI Mentor forklare et konsept, lage en plan for deg eller quize deg. Et prøveintervju stiller fem Go-spørsmål på junior-, mid- eller seniornivå og gir poeng for svarene dine. Ett poengsatt intervju i uken er gratis.
Repetisjon
Go Recall og Go by Example
Korte «hva skriver dette ut?»-kort om klassiske fallgruver, som rekkefølgen til defer, nil maps og append som deler minne, i tillegg til kjørbare utdrag fra standardbiblioteket som du kan kjøre og redigere.
Bakgrunn
Hvorfor lære Go til backend-arbeid, og hva gjør språket annerledes?
Go er et statisk typet, kompilert språk som ble utviklet hos Google, og brukes mye til webtjenester, kommandolinjeverktøy og skyinfrastruktur. Det som gjør Go attraktivt til backend-arbeid, er at mye allerede er innebygd: samtidighet er en del av språket, standardbiblioteket dekker det meste en liten tjeneste trenger, og et program kompileres til én enkelt binærfil uten at noe annet må installeres. Språket er bevisst lite, noe som gjør det raskt å lese, men gir nybegynnere en håndfull uvante vaner de må lære tidlig.
Goroutiner og kanalersamtidighet uten tråder å håndtere
En gorutine er en funksjon som startes med nøkkelordet go, og en kanal er røret gorutinene bruker til å sende verdier. Sammen erstatter de det meste av manuelt trådhåndteringsarbeid, og derfor læres samtidighet tidlig i stedet for å bli spart til et avansert emne.
Feil er verdieringen exceptions
En Go-funksjon som kan feile, returnerer en error som en vanlig andreverdi, og den som kaller funksjonen, sjekker den med én gang. Det krever mer skriving enn en try-blokk, men gjør at alle feilstier er synlige i koden du leser.
Implisitte grensesnittduck typing, kontrollert ved kompilering
En type oppfyller et grensesnitt bare ved å ha de riktige metodene; ingenting deklareres. Dette holder pakkene løst koblet, og det er også her en klassisk Go-overraskelse dukker opp: Et grensesnitt som inneholder en nil-peker, er ikke selv nil.
Én binærfil og et stort standardbibliotekderfor er utrulling enkelt
Kompilert Go produserer én enkelt kjørbar fil, og pakker som net/http, encoding/json og database/sql følger med språket. En liten tjeneste trenger ofte ikke noe tredjepartsrammeverk, og derfor kan Docker-bilder for Go-programmer være små.
Passer
Hvem den er for – og ikke for
Passer godt for deg hvis du
- Vil du ha et Golang-kurs du kan ta i korte økter på mobilen
- Skriver du allerede et annet språk og vil se goroutines og channels kjøre i praksis
- Sikter du mot backend- eller cloud-roller og vil ha Go-intervjuspørsmål med poengsatt tilbakemelding
- Lærer du bedre av små øvelser og kort med vanlige fallgruver enn av lange videoer
- Vil du sjekke formatering, vet-funn og datakappløp i kode du har skrevet selv
Ikke riktig verktøy for deg hvis du
- Trenger du å kjøre programmer som importerer net/http eller bruker generics i appens runner, som er en Go 1.13-sandkasse
- Vil du kjøre kode uten nettilkobling, fordi runneren er nettbasert
- Forventer du at alt skal være gratis: det første kurset, dagens kata og en daglig kvote for AI Mentor er gratis, mens Pro låser opp resten
- Trenger du å bygge og levere en stor tjeneste med flere pakker, noe som fortsatt krever en laptop og hele verktøykjeden
Spørsmål
Ofte stilte spørsmål
Hva er den beste måten å lære Golang på mobilen?
Korte leksjoner kombinert med kode du faktisk kjører, slår ren lesing, og Go belønner det å kjøre kode fordi de beste funksjonene, goroutines og race detector, handler om faktisk atferd. Lær Go kombinerer leksjoner på noen minutter med en editor, en daglig kata og et Concurrency Lab. Det er gratis å komme i gang på iOS og Android, med 51 kurs i rekkefølge fra nybegynnernivå til avansert.
Kan du kompilere og kjøre Go-kode på mobilen?
Ja, med nettilkobling. Lær Go sender programmet ditt til en Go-runner og viser resultatet, og den samme runneren tilbyr gofmt, go vet og race detector. Koden kjøres ikke på selve mobilen, så du må være på nett når du trykker på Kjør, og runneren har begrensninger som et lite minnetilbud og en maksimal binærstørrelse.
Støtter runneren i appen generics?
Ikke foreløpig. Runneren i Lær Go bruker Go 1.13, mens generics kom i Go 1.18, så et program som bruker typeparametere eller nøkkelordet any, kompileres ikke der. Appen forklarer dette i klartekst når det skjer og foreslår den eldre formen. Selve generics-kurset er fortsatt tilgjengelig som en leksjon.
Hva er Go race detector, og hvordan bruker appen den?
Race detector rapporterer når to goroutines berører det samme minnet uten en lås mellom seg – en feil som bare oppstår noen ganger. I Lær Go kjører Concurrency Lab oppgaver som en teller oppdatert av 200 goroutines under race detector, og lar deg legge til en mutex og kjøre på nytt. Du kan også lime inn din egen goroutine-kode og kjøre den under race detector.
Hva er en Go-kata?
En kata er en liten, fokusert øvelse du løser i kode, for eksempel å reversere en streng korrekt for tekst som ikke er ASCII, eller å pakke inn en feil slik at errors.Is fortsatt finner den. Lær Go gir deg en ny daglig kata, sjekker funksjonen din mot en tabell med tilfeller som også inneholder skjulte tilfeller, og forklarer idiomet etterpå. Den daglige kataen er gratis for alle.
Trenger jeg programmeringserfaring for å komme i gang?
Nei. Lær Go begynner med hva Go er og hvorfor språket finnes, og går deretter gjennom variabler, typer og kontrollflyt. Hvert konsept forklares i klartekst før du øver på det. Erfaring med et annet språk hjelper deg gjennom de første kursene raskere, men det første kurset er skrevet for deg som begynner helt fra grunnen.
Er Learn Go gratis?
Appen er gratis å laste ned. Det første kurset er gratis, sammen med den daglige kataen, en daglig kvote for AI Mentor, ubegrensede gofmt-sjekker, ubegrensede kjøringer under race detector og noen go vet-kjøringer per dag. Pro låser opp alle kurs, fjerner annonser, gir ubegrenset AI Mentor og åpner kata-biblioteket og escape analysis.
Finnes det et sertifikat til slutt?
Ja. Når du består avsluttende eksamen, får du et fullføringssertifikat for kurset. Det viser arbeidet du har gjort og passer godt sammen med et lite prosjekt du kan gå gjennom i et intervju, men det er ikke en akkreditert akademisk kvalifikasjon.
Hjelper Learn Go med forberedelser til Golang-intervjuer?
Det gjør det. Mock-intervjuet stiller fem spørsmål på junior-, midt- eller seniornivå, fra forskjellen mellom slices og arrays til hva en interface-verdi inneholder under kjøring, og gir poeng og tilbakemelding på svarene dine. Go Recall-kort trener på de vanligste fallgruvene, og svake temaer fra et intervju legges til i repetisjonsstokken din. Ett poengsatt intervju i uken er gratis.
Hvilke plattformer og språk støtter den?
Lær Go kjører på iOS via App Store og på Android via Google Play, og grensesnittet er tilgjengelig på 22 språk. Den har aldersgrense 4+, så ingenting i materialet er aldersbegrenset.
Mer fra CoddyKit
Tilgjengelig på iOS og Android.