Kies uw taal
Basiscursus Go programmeren
Meer dan 2 miljoen studenten wereldwijd

Basiscursus Go programmeren

4,3

Beheers Go van de grond af — van toolchain-installatie en kern-syntax tot gelijktijdigheid, testen en prestatieoptimalisatie. Deze uitgebreide cursus geeft ontwikkelaars de praktische vaardigheden om schone, productieklare Go-code te schrijven. Of je nu CLI-tools, gelijktijdige services of herbruikbare bibliotheken bouwt, na deze cursus heb je het vertrouwen om echte software uit te brengen.

Dedika voor bedrijven

Wat je gaat leren:

  • Configureer een professionele Go-ontwikkelomgeving en beheers de kerntoolchain.

  • Bouw gelijktijdige programma's met goroutines, kanalen en synchronisatieprimitieven.

  • Ontwerp flexibele API's met Go's interfacesysteem en impliciete voldoeningmodel.

  • Verwerk fouten idiomatisch met aangepaste typen, wrapping en gestructureerde propagatie.

  • Organiseer codebases in versiebeheerde modules met heldere afhankelijkheidsbeheerpraktijken.

  • Controleer en optimaliseer codekwaliteit met unit tests, benchmarks en profileringstools.

Hoe je praktisch studeert Basiscursus Go programmeren

Hoe je oefent Basiscursus Go programmeren

Voor bedrijven die hun team willen trainen

Bij Dedika voor bedrijven bevat de cursus oefeningen en voorbeelden die zijn afgestemd op jouw organisatie en precies zoals jouw bedrijf het nodig heeft.

Klik hier

Cursusinhoud

8 Hoofdstukken • 40 LessenDuur tussen 4 en 360 uren (jij beslist)

Hoofdstuk 1Bekijk details

Go-omgeving en taalgrondbeginselen

  • Les 1 • Go installeren en configureren

    Behandelt Go-installatie, werkruimte-indeling en toolchain-installatie. Biedt de operationele basis waar elk volgend hoofdstuk op voortbouwt.

  • Les 2 • Operatoren en expressies

    Behandelt rekenkundige, vergelijkings-, logische en bitsgewijze operatoren. Studenten leren correcte expressies te construeren in elke Go-context.

  • Les 3 • Variabelen, constanten en gegevenstypen

    Leert variabeledeclaraties, nulwaarden en ingebouwde primitieve typen. Bouwt typebewustzijn op dat nodig is voor elke volgende codeertaak.

  • Les 4 • De Go-toolchain gebruiken

    Verkent de commando's go build, go fmt, go vet en go doc. Rust studenten uit met de dagelijkse workflowtools die worden gebruikt in professionele Go-ontwikkeling.

  • Les 5 • Go-programmastructuur en -syntaxis

    Introduceert pakketdeclaraties, importinstructies en het hoofdingangspunt. Stelt de structuurregels vast waaraan alle Go-bronbestanden moeten voldoen.

Hoofdstuk 2Bekijk details

Controlestroom en functies

  • Les 1 • Functies definiëren en aanroepen

    Introduceert functiehandtekeningen, parameters en retourwaarden. Legt de bouwsteen voor modulaire Go-code die in de hele cursus wordt gebruikt.

  • Les 2 • Lussen en iteratie

    Behandelt de for-lus in al zijn vormen, inclusief range-gebaseerde iteratie. Biedt de iteratietools die nodig zijn om verzamelingen en stromen te verwerken.

  • Les 3 • Defer, Panic en Recover

    Legt uitgestelde aanroepen, panic-propagatie en herstelpatronen uit. Studenten leren Go's idiomatische aanpak voor resourceopschoning en foutafhandeling.

  • Les 4 • First-class functies en closures

    Behandelt functies als waarden, met anonieme functies en closures. Bereidt studenten voor op hogere-ordepatronen die in latere hoofdstukken worden gebruikt.

  • Les 5 • Conditionele instructies

    Leert if, else if, else en switch-constructies met Go-specifieke idioom. Maakt vertakkingslogica mogelijk die essentieel is voor alle real-world programma's.

Hoofdstuk 3Bekijk details

Samengestelde typen: arrays, slices en maps

  • Les 1 • Arrays in Go

    Behandelt arraydeclaratie met vaste lengte, indexering en waardesemantiek. Legt het geheugenmodel vast dat ten grondslag ligt aan slice-gedrag in latere secties.

  • Les 2 • Veelvoorkomende slice-patronen

    Demonstreert filteren, deduplicatie en idioom voor aanpassing ter plaatse. Bouwt een praktische toolkit voor slicemanipulatie die in echte codebases wordt gebruikt.

  • Les 3 • Slices: interne werking en bewerkingen

    Legt slice-headers, backing arrays en groeigedrag uit. Beheersing hiervan voorkomt veelvoorkomende bugs in gegevensmanipulatie tijdens de cursus.

  • Les 4 • Structs als samengestelde records

    Introduceert struct-declaratie, veldtoegang, inbedding en anonieme velden. Legt de basis voor het typesysteem dat in het volgende hoofdstuk wordt verkend.

  • Les 5 • Maps: aanmaken en gebruik

    Leert map-literals, make, opzoeken, invoegen en verwijderen. Biedt de sleutel-waardeopslagbasis voor configuratie- en cachepatronen.

Hoofdstuk 4Bekijk details

Pakketten, modules en afhankelijkheidsbeheer

  • Les 1 • Afhankelijkheden toevoegen en beheren

    Leert go get, go mod tidy en afhankelijkheidsversieselectie. Studenten onderhouden schone, reproduceerbare afhankelijkheidsgrafieken in echte projecten.

  • Les 2 • Modules publiceren en versiebeheer

    Legt het taggen van releases, major-versiesuffixen en moduleproxies uit. Bereidt studenten voor op het delen van herbruikbare bibliotheken met het Go-ecosysteem.

  • Les 3 • Go-modules en go.mod

    Legt module-initialisatie, het go.mod-bestand en semantische versiebeheer uit. Stelt het afhankelijkheidscontract vast dat alle moderne Go-projecten beheerst.

  • Les 4 • Principes van pakketorganisatie

    Behandelt pakketnaamgeving, geëxporteerde versus niet-geëxporteerde identifiers en cohesie. Leidt studenten naar pakketstructuren die meeschalen met de projectgrootte.

  • Les 5 • Intern en testbaar pakketontwerp

    Behandelt de interne pakketconventie en test-only pakketten. Maakt encapsulatiestrategieën mogelijk die implementatiedetails beschermen.

Hoofdstuk 5Bekijk details

Go-typesysteem: interfaces en methoden

  • Les 1 • Methoden op typen

    Behandelt waarde- en pointerontvangers, methodensets en promotie via inbedding. Stelt vast hoe gedrag aan typen in Go wordt gekoppeld.

  • Les 2 • Best practices voor interfaceontwerp

    Behandelt kleine interfaces, accepteer interfaces/retourneer concrete types en interfacevervuiling. Leidt studenten naar onderhoudbare, testbare API-grenzen.

  • Les 3 • Standaardbibliotheekinterfaces

    Onderzoekt io.Reader, io.Writer, fmt.Stringer en error-interfaces. Verbindt interfacetheorie met de interfaces die studenten dagelijks tegenkomen.

  • Les 4 • Type-assertions en type-switches

    Leert veilige en onveilige type-assertions en type-switch-dispatch. Maakt runtime-type-inspectie mogelijk die nodig is voor generieke handlerpatronen.

  • Les 5 • Interfaces definiëren en implementeren

    Legt interfacedeclaraties, impliciete satisfactie en de lege interface uit. Studenten leren code te schrijven die afhangt van gedrag, niet van concrete typen.

Hoofdstuk 6Bekijk details

Foutafhandeling en robuuste code

  • Les 1 • Basisprincipes van loggen en observeerbaarheid

    Introduceert gestructureerd loggen met de pakketten log en log/slog. Verbindt foutafhandeling met operationele zichtbaarheid in productiesystemen.

  • Les 2 • Fouten wrappen en unwrappen

    Behandelt foutketens, errors.Is, errors.As en unwrap-bomen. Studenten leren gelaagde fouten te inspecteren zonder encapsulatie te verbreken.

  • Les 3 • Panic- en herstelpatronen

    Bezoekt panic en recover opnieuw in de context van bibliotheekgrensveiligheid. Studenten weten wanneer ze panics naar fouten moeten converteren op API-oppervlakken.

  • Les 4 • Het foutmodel in Go

    Legt de error-interface, nil-controles en idiomatische foutpropagatie uit. Stelt het mentale model vast dat alle foutafhandeling in Go beheerst.

  • Les 5 • Aangepaste fouttypen

    Leert struct-gebaseerde fouten, contextverrijking en de Unwrap-methode. Maakt rijke foutinformatie mogelijk voor debuggen en programmatische afhandeling.

Hoofdstuk 7Bekijk details

Gelijktijdigheid met goroutines en kanalen

  • Les 1 • Synchronisatie met het sync-pakket

    Behandelt Mutex, RWMutex, WaitGroup en Once voor gedeelde-statusveiligheid. Vult kanaalgebaseerde gelijktijdigheid aan voor scenario's die gedeeld geheugen vereisen.

  • Les 2 • Goroutines en de Go-scheduler

    Legt goroutine-creatie, de M:N-scheduler en goroutine-levenscyclus uit. Biedt het conceptuele model dat nodig is om te redeneren over gelijktijdige uitvoering.

  • Les 3 • Veelvoorkomende gelijktijdigheidspatronen

    Demonstreert worker-pools, pipelines en fan-out/fan-in-architecturen. Studenten passen deze patronen toe om schaalbare gelijktijdige programma's te bouwen.

  • Les 4 • Select-instructie en multiplexing

    Leert de select-instructie voor het multiplexen van kanaalbewerkingen. Maakt timeout-, annulerings- en fan-in-patronen mogelijk die in productieservices worden gebruikt.

  • Les 5 • Kanalen: communicatie tussen goroutines

    Behandelt gebufferde en niet-gebufferde kanalen, verzend-/ontvangstsemantiek en sluiten. Stelt het primaire communicatiemechanisme in Go-gelijktijdigheid vast.

Hoofdstuk 8Bekijk details

Testen, benchmarken en codekwaliteit

  • Les 1 • Testhelpers en testfixtures

    Leert hulpfuncties, TestMain en het opzetten van tijdelijke resources. Vermindert boilerplate en verbetert de testleesbaarheid in grote testsuites.

  • Les 2 • Benchmarken en profileren

    Behandelt benchmarkfuncties, B.N-loops en pprof-integratie. Studenten identificeren en elimineren prestatieknelpunten met datagestuurd bewijs.

  • Les 3 • Unittests schrijven met het testing-pakket

    Behandelt testbestandsconventies, T.Error, T.Fatal en subtests. Stelt de basistestdiscipline vast die vereist is voor alle Go-projecten.

  • Les 4 • Codecoverage en kwaliteitsdrempels

    Legt coveragerapporten, go test -cover en linter-integratie uit. Verbindt testen met continue integratiepijplijnen voor geautomatiseerde kwaliteitshandhaving.

  • Les 5 • Mocken en interface-gebaseerd testen

    Demonstreert handmatige mocks, stub-implementaties en afhankelijkheidsinjectie. Maakt geïsoleerde unit tests mogelijk voor code met externe afhankelijkheden.

Certificering

Jouw geldig certificaat van voltooiing

Deze cursus is voor jou:

  • Backendontwikkelaar: wil Go toevoegen aan een meertalige professionele vaardighedenset.

  • Python- of JavaScript-programmeur: klaar om een statisch getypeerde systeemtaal te verkennen.

  • Informaticastudent: op zoek naar praktische ervaring die verder gaat dan academische cursusopdrachten.

  • DevOps-engineer: moet Go-tooling in dagelijkse werkstromen kunnen lezen, aanpassen of schrijven.

  • Carrièreswitcher: stapt over naar softwareontwikkeling met een gestructureerde, moderne taal.

  • Hobbyprogrammeur: wil snelle, zelfstandige tools bouwen voor persoonlijke projecten.

Wat onze studenten zeggen

Jullie lessen zijn perfect. Ik heb het jaarpakket aangeschaft en heb eindelijk de mogelijkheid om verschillende onderwerpen die mij interesseren te volgen zonder van platform te hoeven wisselen... bedankt voor alles wat jullie doen, ik heb jullie al aan anderen aanbevolen...
Giulio Carlo
Giulio CarloStudent Digitale Marketing
Ik vind het fijn hoe de lessen direct ter zake zijn en hoe ik tussen hoofdstukken kan wisselen en content kan overslaan die ik niet nodig heb.
Mariana Ferres
Mariana FerresStudent Fotografie
Ik vind de content en de manier van presenteren en transcriptie van video's geweldig, wat het proces versnelt!
Luciana Alvarenga
Luciana AlvarengaStudent Nageldesign
Het platform is snel en eenvoudig te gebruiken. De diversiteit aan content en de aanvullende video's helpen enorm bij het leren.
André Felipe
André FelipeStudent Prompt Engineering

Belangrijkste opleidingen

FAQ

Wie is Dedika?

Is het certificaat geldig in Nederland?

Zijn de cursussen gratis?

Wat is de studielast van de cursus?

Hoe zien de cursussen eruit?

Hoe werken de cursussen?

Wat is de duur van de cursussen?

Wat zijn de kosten of prijzen van de cursussen?

Wat is een EAD- of online cursus en hoe werkt het?

PDF-cursus