Denne artikkelen gir en oversikt over noen av de fremste ressursene som er tilgjengelige online for de som ønsker å lære og mestre programmeringsspråket Golang.
Ettersom individer har ulike preferanser for hvordan de foretrekker å lære, vil jeg her presentere et mangfold av materialer, inkludert tekstbaserte artikler, veiledninger, videoer og populære kurs innenfor Golang-området.
Golang opplever en rask økning i popularitet, og du vil sannsynligvis bli fascinert av Go når du begynner å utforske dets muligheter.
Utviklerveiledning
Med et imponerende antall på rundt 50 000 studenter, fremstår dette som en av de mest omfattende pakkene for å lære Go fra bunnen av. Dette kurset er grundig testet og har vist seg å være effektivt for de fleste studenter. Når du melder deg på, får du livstids tilgang til materialet. Hvis du foretrekker å lære gjennom videobaserte kurs, er dette et utmerket valg!
Dette kurset passer perfekt for nybegynnere, men er også nyttig for de som ønsker å repetere de grunnleggende konseptene. Kurset inneholder 9 timer med videoinnhold, i tillegg til ekstra koderessurser og oppgaver.
Noen av temaene som dekkes i kurset inkluderer:
- Oppsett, installasjon og de grunnleggende elementene i språket.
- Pakker og filstrukturer.
- Variabler, funksjoner, arrays og slices.
- En dyptgående gjennomgang av maps, structs og interfaces.
- Kanaler og go-rutiner (samtidig programmering).
Førstegangs tjeneste
Med over 300 forelesninger er dette komplette Bootcamp-kurset på Udemy et solid valg for å lære Golang. Her lærer du ved å bygge praktiske applikasjoner, som for eksempel:
- Logg-parser
- Filskanner
- Spamfilter
I tillegg til dette, tilbyr kurset over 1000 praktiske øvelser.
Dette kurset dekker ikke bare de grunnleggende konseptene i Go som strukturer, grensesnitt og kanaler, men inneholder også et spennende prosjekt der du lærer å animere en sprettende ball.
Ved fullførelse av kurset vil du også motta et bevis på gjennomføring.
Tour of Go
Jeg er en stor tilhenger av den offisielle Golang-dokumentasjonen, bloggene og veiledningene. Dette interaktive kurset er gratis og krever ingen lokal installasjon. Du kan enkelt besøke nettsiden og begynne å lære fra bunnen av, med praktisk kode for hvert emne.
Dette kurset er et godt sted å starte hvis du er nysgjerrig og ønsker å lære det grunnleggende uten å måtte sette opp noe.
Go by Example
Dette er ikke et fullstendig kurs, men snarere et sted du kan gå når du trenger å friske opp de grunnleggende konseptene. Siden dekker alle konsepter med en innledningstekst og et fullstendig fungerende eksempel. Siden er svært brukervennlig og fokuserer utelukkende på læring. Noen av de grunnleggende temaene som dekkes er:
- Variabler og konstanter
- For-løkker
- If/Else og Switch
- Arrays og slices
- Maps
- Range
- Funksjoner
Og nesten alle andre temaer du trenger! Ta en titt og bokmerk siden for fremtidig referanse.
Lær X på Y minutter
Hvis du ønsker en rask gjennomgang av det grunnleggende, er Lær X på Y minutter en fantastisk ressurs, ikke bare for Go, men for de fleste programmeringsspråk. Denne fellesskapsdrevne ressursen dekker mange emner på én enkelt side. Bidra gjerne tilbake til fellesskapet når du har blitt god i Go.
Her er et kodeeksempel fra veiledningen som forklarer samtidig programmering i én funksjon:
// Vi bruker inc for å inkrementere noen tall samtidig. func learnConcurrency() { // Samme make-funksjon som brukes tidligere til å lage en slice. Make allokerer og // initialiserer slices, maps og kanaler. c := make(chan int) // Start tre samtidige gorutiner. Tallene vil inkrementeres // samtidig, kanskje parallelt hvis maskinen er i stand til det og // konfigurert riktig. Alle tre sender til samme kanal. go inc(0, c) // go er en setning som starter en ny goroutine. go inc(10, c) go inc(-805, c) // Les tre resultater fra kanalen og skriv dem ut. // Det er ingen måte å vite i hvilken rekkefølge resultatene kommer! fmt.Println(<-c, <-c, <-c) // kanal til høyre, <- er "mottaks"-operator. cs := make(chan string) // En annen kanal, denne håndterer strenger. ccs := make(chan chan string) // En kanal med strengkanaler. go func() { c <- 84 }() // Start en ny goroutine bare for å sende en verdi. go func() { cs <- "wordy" }() // Igjen, for cs denne gangen. // Select har syntaks som en switch-setning, men hvert case innebærer // en kanaloperasjon. Den velger et case tilfeldig ut fra de cases // som er klare til å kommunisere. select { case i := <-c: // Verdien mottatt kan tilordnes en variabel, fmt.Printf("det er en %T", i) case <-cs: // eller verdien mottatt kan forkastes. fmt.Println("det er en streng") case <-ccs: // Tom kanal, ikke klar for kommunikasjon. fmt.Println("skjedde ikke.") } // På dette tidspunktet ble en verdi hentet fra enten c eller cs. En av de to // goroutinene som startet ovenfor er fullført, den andre vil forbli blokkert. learnWebProgramming() // Go gjør det. Du vil også gjøre det. }
Denne ressursen er kortfattet og til poenget, så gi den en sjanse hvis du ønsker en rask oversikt over spesifikke Golang-temaer.
Gotime
Hvis du er en tilhenger av lydbasert læring, er Gotime en utmerket podcast. Mange dyktige utviklere deler sin erfaring og hvordan de bruker Go i sine respektive selskaper. Du bør også sjekke ut GopherCon (Golang-konferansen), hvor fremtredende personer deler sine erfaringer med fellesskapet.
Disse fellesskapene diskuterer de nyeste trendene og forbedringene innenfor Go.
Jeg legger også til noen av de populære podcastene her:
Bøker
Det finnes mange gode bøker om Golang. Jeg legger til noen av mine favoritter her:
Blogger
Det finnes flere gode blogger om Golang. Det er også mange artikler på Medium du kan utforske. Her er noen du kan finne nyttige:
YouTube
Liker du videobasert læring?
Sjekk ut denne Golang-veiledningen for nybegynnere fra freeCodeCamp.
Konklusjon
Jeg anbefaler å fullføre et av de nevnte kursene hvis du er nybegynner og ønsker å bli med i Golang-fellesskapet. Husk også å dele din kunnskap med verden og bidra til å gjøre Go enda bedre. Jeg håper du har funnet denne informasjonen nyttig, og jeg ønsker deg lykke til på din reise med Go.