Go leren
Go leren — Een Golang-tutorial met een compiler, een race detector en dagelijkse katas op je telefoon
Go leren is een gratis Golang-tutorial voor beginners en werkende developers op iOS en Android, met een Go-compiler en editor die je code uitvoert op een echte Go-toolchain (een internetverbinding is nodig). Controleer je code met gofmt, go vet en de race detector en doorloop 51 cursussen, van je eerste fmt.Println tot goroutines, REST API's en gRPC, met een AI Mentor voor de onderdelen die niet meteen duidelijk zijn.
- Prijs
- Gratis, Pro-upgrade
- Platformen
- iOS en Android
- Talen
- 22
- Leeftijdsclassificatie
- 4+
- Vereist
- iOS 15.1 of hoger


Verwijder het sleutelwoord go en kijk toe hoe hetzelfde werk drie keer zo lang duurt.
Dat is het eerste wat de app je met Go laat doen: voer drie taken van elk 120 ms uit, zie dat het totaal ruim onder 360 ms blijft en verwijder vervolgens het ene sleutelwoord dat ze gelijktijdig maakte. De hele belofte van de taal zit in dat ene woord, en de app laat je dat ervaren voordat het wordt uitgelegd.
Wat het is
Go leren is een gratis iOS- en Android-app om Go te leren, de gecompileerde taal achter een groot deel van de cloud- en serversoftware van vandaag. De app bevat 51 cursussen en 203 lessen, van beginners- tot gevorderd niveau, een code-editor die programma's uitvoert op een echte Go-toolchain, een dagelijkse kata, een Concurrency Lab met een echte race detector en een begeleid traject waarin je je eigen HTTP-core bouwt. Een AI Mentor beantwoordt vragen over elke les.
In de app
Hoe het eruitziet





De cursus
Wat de Go-cursus behandelt
51 cursussen en 203 lessen uit de eigen cursuslijst van de app, ingedeeld van A1 tot C1 en oplopend van het eerste programma tot profiling en de garbage collector.
Welkom bij Go en de basis
Wat Go is en waarom Google het heeft gemaakt, gevolgd door variabelen, typen en zero values, constanten en control flow met if, for en switch.
Functies, slices en maps
Functies met meerdere return values, defer en variadische parameters, arrays, slices en maps, plus strings, fmt-formattering en het time-package.
Structs, pointers en interfaces
Structs en methoden, value- versus pointer-receivers, pointers, impliciete interfaces en duck typing, plus embedding voor compositie.
Fouten, packages en de standard library
Expliciete foutafhandeling met errors.Is en errors.As, packages en modules, file I/O en JSON, reguliere expressies, sorteren en gebufferde I/O.
Goroutines, channels en Sync
De basis van goroutines en channels, select- en channel-patronen, mutexes en het sync-package, context voor annulering en worker pools en pipelines.
HTTP, REST en databases
HTTP-servers en -clients met net/http, REST-API’s met Gin, middleware-patronen, database/sql met sqlx en pgx, GORM en WebSockets.
Testen, tooling en deployment
Table-driven tests en subt tests, command-line-apps met Cobra, configuratie met Viper, gestructureerde logging met slog en multi-stage Docker-builds.
Geavanceerde Go
Generics met type parameters en constraints, benchmarking en pprof-profiling, gRPC met Protocol Buffers, reflection en het memory model.
Hoe het werkt
Zo werkt een sessie
Elke les bestaat uit een korte tekst, gevolgd door code die je uitvoert, zodat het idee en de praktijk in dezelfde sessie samenkomen.
Lees één korte les
Open een cursus en volg één les van enkele minuten, met theorie in duidelijke taal en een klein voorbeeld, zoals het programma met package main en fmt.Println uit de allereerste les.
Voer het uit op een echte Go-toolchain
De editor stuurt je programma naar een Go-runner en toont de uitvoer. gofmt, go vet en de race detector worden op dezelfde manier uitgevoerd. Daarom heeft de app een verbinding nodig wanneer je op uitvoeren drukt. Een programma dat crasht, toont een uitleg van de fout in gewone taal.
Oefen ermee vanuit een andere invalshoek
Doe na een onderwerp de quiz, los de dagelijkse kata op, doorloop een concurrency-puzzel of vraag de AI Mentor om je te overhoren. Elk onderdeel bekijkt hetzelfde idee op een andere manier, waardoor het beter blijft hangen.
Wat erin zit
Wat je bij de app krijgt
51
Cursussen, A1 tot C1
203 lessen in 51 cursussen, van de basis van Go, slices en maps tot interfaces, error handling, goroutines, net/http, Gin, databasetoegang, Docker-deployment, gRPC en de garbage collector.
-race
Concurrency Lab met de race detector
Zes uitvoerbare puzzels behandelen twee goroutines op één kanaal, een handshake zonder buffer, een fan-out met een WaitGroup, een counter die updates verliest, een map met twee schrijvers en een deadlock. Je kunt je eigen code ook uitvoeren onder de race detector, gratis en zonder dagelijkse limiet.
Dagelijks
Elke dag een nieuwe kata
Een Go-oefening die wordt gecontroleerd aan de hand van een tabel met gevallen, inclusief verborgen gevallen, met daarna een uitleg van de referentieoplossing. De dagelijkse kata is voor iedereen gratis; Pro geeft toegang tot de volledige bibliotheek, de referentieoplossingen en de uitleg.
Doctor
Go Doctor
Controleer of gofmt je bestand zou herschrijven en pas het toe, voer go vet uit voor bevindingen en vraag met Pro aan de escape analysis van de compiler waarom een waarde wordt gealloceerd. Formatteren is onbeperkt, en go vet is in het gratis abonnement beperkt tot drie uitvoeringen per dag.
7 stappen
Bouw je eigen HTTP-core
Een begeleid traject waarin je zelf stap voor stap het request, de response, handlers als functies, routing, path parameters, middleware en JSON met gewrapte errors schrijft, waarbij elke stap wordt gecontroleerd.
AI
AI Mentor en proefinterview
Vraag de AI Mentor om een concept uit te leggen, een roadmap te geven of je te overhoren. In een proefinterview krijg je vijf Go-vragen op junior-, medior- of seniorniveau en worden je antwoorden beoordeeld. Eén beoordeeld interview per week is gratis.
Herhalen
Go Recall en Go by Example
Korte kaarten met de vraag "wat wordt hier afgedrukt?" over klassieke valkuilen, zoals de volgorde van defer, nil-maps en append die geheugen deelt, plus uitvoerbare snippets uit de standaardbibliotheek die je kunt uitvoeren en bewerken.
Achtergrond
Waarom Go leren voor backendwerk, en wat maakt de taal anders?
Go is een statisch getypeerde, gecompileerde taal die bij Google is ontwikkeld en veel wordt gebruikt voor webservices, command-line-tools en cloudinfrastructuur. De aantrekkingskracht voor backendwerk is dat er veel is ingebouwd: concurrency maakt deel uit van de taal, de standaardbibliotheek dekt het meeste af wat een kleine service nodig heeft en een programma wordt gecompileerd tot één binair bestand, zonder dat je daarnaast iets hoeft te installeren. De taal is bewust klein gehouden, waardoor je haar snel kunt lezen, maar beginners al vroeg een aantal onbekende werkwijzen moeten leren.
Goroutines en kanalenconcurrency zonder threads te beheren
Een goroutine is een functie die je start met het sleutelwoord go, en een kanaal is de pijp waarmee goroutines waarden doorgeven. Samen vervangen ze het meeste handgeschreven threadbeheer. Daarom wordt concurrency al vroeg behandeld in plaats van als een geavanceerd onderwerp te worden bewaard.
Fouten zijn waardengeen exceptions
Een Go-functie die kan mislukken retourneert een error als gewone tweede waarde, waarna de aanroeper die meteen controleert. Dat betekent meer typewerk dan een try-blok, maar ook dat elk foutpad zichtbaar is in de code die je leest.
Impliciete interfacesduck typing, gecontroleerd tijdens het compileren
Een type voldoet aan een interface door simpelweg de juiste methoden te hebben; er wordt niets gedeclareerd. Zo blijven packages losjes gekoppeld. Hier zit ook een klassieke verrassing van Go: een interface met daarin een nil-pointer is zelf niet nil.
Eén binair bestand en een grote standaardbibliotheekwaarom deployment eenvoudig is
Gecompileerde Go levert één uitvoerbaar bestand op, en packages zoals net/http, encoding/json en database/sql worden met de taal meegeleverd. Een kleine service heeft vaak geen framework van derden nodig. Dat is een van de redenen waarom Docker-images voor Go-programma's klein kunnen zijn.
Past bij jou
Voor wie het is — en voor wie niet
Past goed bij je als je
- Wil je een Golang-cursus die je in korte sessies op je telefoon kunt volgen
- Schrijf je al een andere taal en wil je goroutines en channels echt zien werken
- Richt je je op backend- of cloudfuncties en wil je Go-interviewvragen met gescoorde feedback
- Leer je beter met kleine oefeningen en kaarten met valkuilen dan met lange video’s
- Wil je formatting, vet-bevindingen en data races controleren in code die je zelf hebt geschreven
Niet het juiste hulpmiddel als je
- Moet je programma’s uitvoeren die net/http importeren of generics gebruiken in de in-app-runner, een Go 1.13-sandbox
- Wil je code zonder verbinding uitvoeren, omdat de runner online is
- Verwacht je dat alles gratis is: de eerste cursus, de dagelijkse kata en een dagelijks tegoed voor AI Mentor zijn gratis, en Pro ontgrendelt de rest
- Moet je een grote service met meerdere packages bouwen en uitrollen, waarvoor nog steeds een laptop en de volledige toolchain nodig zijn
Vragen
Veelgestelde vragen
Wat is de beste manier om Golang op een telefoon te leren?
Korte lessen plus code die je daadwerkelijk uitvoert zijn beter dan alleen lezen, en Go beloont het uitvoeren van code omdat de beste functies ervan, goroutines en de race detector, gedragsgericht zijn. Go leren combineert lessen van een paar minuten met een editor, een dagelijkse kata en een Concurrency Lab. Je kunt gratis beginnen op iOS en Android, met 51 cursussen in een volgorde van beginner tot gevorderd.
Kun je Go-code op je telefoon compileren en uitvoeren?
Ja, met een verbinding. Go leren stuurt je programma naar een Go-runner en toont de uitvoer. Diezelfde runner biedt gofmt, go vet en de race detector. De code wordt niet op de telefoon zelf uitgevoerd, dus je moet online zijn wanneer je op uitvoeren drukt. De runner heeft bovendien beperkingen, zoals een kleine hoeveelheid beschikbaar geheugen en een maximale binaire bestandsgrootte.
Ondersteunt de in-app-runner generics?
Nog niet. De runner in Go leren gebruikt Go 1.13, en generics zijn in Go 1.18 geïntroduceerd. Een programma met type parameters of het sleutelwoord any wordt daar dus niet gecompileerd. De app legt in gewone taal uit wat er gebeurt en stelt de oudere vorm voor. De cursus over generics is nog steeds als les te lezen.
Wat is de Go race detector en hoe gebruikt de app die?
De race detector meldt wanneer twee goroutines hetzelfde geheugen benaderen zonder dat er een lock tussen zit, een bug die slechts af en toe zichtbaar wordt. In Go leren voert het Concurrency Lab puzzels uit, zoals een counter die door 200 goroutines wordt bijgewerkt terwijl de detector actief is, waarna je een mutex kunt toevoegen en opnieuw kunt uitvoeren. Je kunt ook je eigen goroutine-code plakken en die met de detector uitvoeren.
Wat is een Go-kata?
Een kata is een kleine, gerichte oefening die je in code oplost, zoals een string correct omkeren voor niet-ASCII-tekst of een error wrappen zodat errors.Is die nog steeds vindt. Go leren geeft elke dag een nieuwe kata, controleert je functie aan de hand van een tabel met testgevallen waarin ook verborgen gevallen staan en legt daarna het idiom uit. De dagelijkse kata is voor iedereen gratis.
Heb ik programmeerervaring nodig om te beginnen?
Nee. Go leren begint met wat Go is en waarom het bestaat, en behandelt daarna variabelen, typen en control flow. Elk concept wordt eerst in gewone taal uitgelegd voordat je het oefent. Ervaring met een andere taal helpt je sneller door de eerste cursussen heen, maar de eerste cursus is geschreven voor iemand die vanaf nul begint.
Is Learn Go gratis?
De app is gratis te downloaden. De eerste cursus is gratis, net als de dagelijkse kata, een dagelijks tegoed voor AI Mentor, onbeperkte gofmt-controles, onbeperkte uitvoeringen met de race detector en enkele go vet-uitvoeringen per dag. Pro ontgrendelt elke cursus, verwijdert advertenties, geeft onbeperkte AI Mentor-toegang en opent de kata-bibliotheek en escape analysis.
Krijg ik aan het einde een certificaat?
Ja. Als je slaagt voor het eindexamen, krijg je een certificaat van voltooiing voor de cursus. Het laat het werk zien dat je hebt gedaan en vormt een goede aanvulling op een klein project waar je tijdens een interview over kunt vertellen, maar het is geen erkende academische kwalificatie.
Helpt Learn Go bij de voorbereiding op een Golang-interview?
Ja. Het proefinterview stelt vijf vragen op junior-, medior- of seniorniveau, van het verschil tussen slices en arrays tot wat een interface value tijdens runtime bevat, en beoordeelt je antwoorden met feedback. Go Recall-kaarten oefenen de gebruikelijke valkuilen, en zwakke onderwerpen uit een interview worden aan je recall-deck toegevoegd. Eén gescoord interview per week is gratis.
Welke platforms en talen ondersteunt de app?
Go leren werkt op iOS via de App Store en op Android via Google Play. De interface is beschikbaar in 22 talen. De app heeft een leeftijdsclassificatie van 4+, dus niets in het materiaal is aan leeftijdsbeperkingen onderworpen.
Meer van CoddyKit
Beschikbaar op iOS en Android.