Lær Go-appikon

Lær Go

Utdanning · Gratis · iOS & Android · CoddyKit

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.

App Store — Last ned gratisGoogle Play — Last ned gratis
Pris
Gratis, Pro-oppgradering
Plattformer
iOS og Android
Språk
22
Aldersgrense
4+
Krever
iOS 15.1 eller nyere
Startskjermen for Go-læringsstien med en knapp for å starte den første leksjonen, en ring for dagens mål og et kort for å foreslå funksjonerKursoversikt for Go Kickoff: Concepts & Setup med en fremdriftslinje, en gratis gruppe med den første leksjonen og en knapp for å endre kurs
51Kurs, A1 til C1
-raceConcurrency Lab med race detector
DagligEn ny kata hver dag
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

Startskjermen for Go-læringsstien med en knapp for å starte den første leksjonen, en ring for dagens mål og et kort for å foreslå funksjoner
LæringsstiStartskjermen åpnes på læringsstien med en startknapp, et daglig mål og en lenke til Skill Hub.
Kursoversikt for Go Kickoff: Concepts & Setup med en fremdriftslinje, en gratis gruppe med den første leksjonen og en knapp for å endre kurs
KursoversiktDet første kurset, Go Kickoff: Concepts & Setup, er merket som gratis og er delt inn i tre korte leksjoner.
Kodeeditor som viser et Go-program med package main, import fmt og fmt.Println-kall ved siden av en leksjon om det første programmet
KodeeditorEn leksjon kalt Your First Program med kodeeditoren åpen på en package main-fil og en kjøringsknapp.
AI-chat med foreslåtte spørsmål for å forklare viktige konsepter, gi tips, lage en quiz og lage en læringsplan
AI MentorFire foreslåtte spørsmål starter chatten: forklar de viktigste konseptene, gi tips, test meg eller lag en læringsplan.
Startskjerm med lyst tema, læringsstien, et daglig mål og Skill Hub
StartskjermDen samme startskjermen med lyst tema, med det daglige målet og Skill Hub under det aktive kurset.

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.

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

  2. Funksjoner, slices og maps

    Funksjoner med flere returverdier, defer og variadiske parametere, arrays, slices og maps, samt strenger, fmt-formatering og time-pakken.

  3. Structs, pekere og interfaces

    Structs og metoder, value- kontra pointer-receivere, pekere, implisitte interfaces og duck typing, samt embedding for komposisjon.

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

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

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

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

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

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

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

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

Kom i gang

Skriv din første goroutine i dag

Gratis å komme i gang på iOS og Android, på 22 språk.

App Store — Last ned gratisGoogle Play — Last ned gratis
Sist gjennomgått · Utgitt av CoddyKit · Personvernerklæring
Tilgjengelig på iOS og Android.