Några av de bästa resurserna för att bemästra Golang

I den här artikeln kommer jag att lista några av de bästa resurserna som finns på internet för att lära sig och bemästra Golang.

Eftersom varje användare har en preferens för olika inlärningssätt, kommer jag därför att täcka textbaserade artiklar, handledningar, videor och populära kurser kring Golang.

Golang växer ganska snabbt när det gäller popularitet, och du kommer att bli kär i Go när du börjar utforska det.

Utvecklarguide

Med cirka 50 000 studenter är detta ett av de bästa kompletta paketen för att lära sig Go från grunderna. Denna kurs är väl testad och fungerar bra för de flesta av studenterna; när du köper har du livstidsåtkomst för detta. Om du gillar att lära dig från kompletta videokurser, då är detta precis vad du behöver!

Detta kurs är idealisk för nybörjare och för personer som vill återvända till de inledande koncepten. Kursen har 9 timmar on-demand-video med ytterligare kodresurser och uppgifter.

Några av de ämnen som tas upp i den här kursen är –

  • Installation, installation och grunderna för språket.
  • Paket och filstrukturer
  • Variabler, funktioner, matriser och segment
  • Djupgående täckning av kartor, strukturer och gränssnitt
  • Kanal och go-rutiner (Samtidig programmering)

Bootcamp

Med över 300 föreläsningar komplett Bootcamp-kurs på Udemy är definitivt ett bra köp och rätt ställe att lära sig Golang. Du lär dig genom att bygga applikationer som –

  • Loggparser
  • Filskanner
  • Spammasker

Tillsammans med detta erbjuder kursen över 1000+ praktiska övningar.

Förutom att täcka de grundläggande koncepten för Go som strukturer, gränssnitt och kanaler, har den här kursen ett intressant projekt där du lär dig hur man animerar en studsande boll.

Du får även ett intyg om att du är klar i slutet av kursen.

Tour of Go

Tja, jag är ett stort fan av officiell Golang-dokumentation, bloggar och handledningar. Denna interaktiva kurs är gratis och kräver ingen lokal installation. Öppna bara webbplatsen och börja lära dig från grunderna med praktisk kod för varje ämne.

Det här är en kurs du bör börja med om du bara vill utforska och vill lära dig grunderna utan några inställningar.

Gå med exempel

Det här är inte precis en hel kurs, snarare ett ställe att gå till när du glömmer grunderna. Webbplatsen täcker alla begrepp med en introduktionstext och ett utförligt exempel. Sajten är så enkel som den kan vara, och fokuserar därmed på lärande. Några av de grundläggande introduktionsinläggen handlar om –

  • Variabler och konstanter
  • För
  • If/Else och Switch
  • Arrayer och skivor
  • Kartor
  • Räckvidd
  • Funktioner

och nästan alla ämnen du behöver! Do Kolla in det och bokmärk den som referens.

Lär dig X på Y minuter

Tja, om du vill ha en snabb rundtur i grunderna, lär dig X på Y minuter är en fantastisk resurs inte bara för Go utan för nästan alla programmeringsspråk. Det är community-drivet och täcker många ämnen på en enda sida. Bidra tillbaka när du blir bra på Go.

Här är ett kodavsnitt från handledningen, som förklarar samtidig programmering i en funktion.

// We'll use inc to increment some numbers concurrently.
func learnConcurrency() {
    // Same make function used earlier to make a slice. Make allocates and
    // initializes slices, maps, and channels.
    c := make(chan int)
    // Start three concurrent goroutines. Numbers will be incremented
    // concurrently, perhaps in parallel if the machine is capable and
    // properly configured. All three send to the same channel.
    go inc(0, c) // go is a statement that starts a new goroutine.
    go inc(10, c)
    go inc(-805, c)
    // Read three results from the channel and print them out.
    // There is no telling in what order the results will arrive!
    fmt.Println(<-c, <-c, <-c) // channel on right, <- is "receive" operator.

    cs := make(chan string)       // Another channel, this one handles strings.
    ccs := make(chan chan string) // A channel of string channels.
    go func() { c <- 84 }()       // Start a new goroutine just to send a value.
    go func() { cs <- "wordy" }() // Again, for cs this time.
    // Select has syntax like a switch statement but each case involves
    // a channel operation. It selects a case at random out of the cases
    // that are ready to communicate.
    select {
    case i := <-c: // The value received can be assigned to a variable,
        fmt.Printf("it's a %T", i)
    case <-cs: // or the value received can be discarded.
        fmt.Println("it's a string")
    case <-ccs: // Empty channel, not ready for communication.
        fmt.Println("didn't happen.")
    }
    // At this point a value was taken from either c or cs. One of the two
    // goroutines started above has completed, the other will remain blocked.

    learnWebProgramming() // Go does it. You want to do it too.
}

Så kortfattad och rakt på sak, ge detta ett försök om du vill ha en snabb överblick över några specifika ämnen för Golang.

Gotime

Om du är ett fan av ljudinlärning, Gotime är en bra podcast. Många fantastiska utvecklare kommer och delar med sig av sin verkliga kunskap och hur de använder Go i sina företag. Du bör också kolla in GopherCon (golangkonferens) där framstående personer delar sina lärdomar med samhället.

Dessa grupper diskuterar de senaste trenderna och förbättringarna kring Go.

Jag lägger till några av de populära podcasterna här –

Böcker

Det finns många väldigt bra böcker. Jag lägger till några av favoriterna här –

Bloggar

Det finns några ganska bra bloggar runt Golang. Det finns också många artiklar om medium som du kan utforska. Jag delar med mig av några här som du kommer att ha nytta av –

Youtube

Sugen på videobaserat lärande?

Visst, kolla in den här Golang-handledningen för nybörjare av freeCodeCamp.

Slutsats

Jag skulle rekommendera att du slutför en av kurserna ovan om du är nybörjare och går med i Golang-communityt. Dela också dina lärdomar med världen och bidra till att göra Go ännu bättre. Jag hoppas att du lärde dig något användbart och allt det bästa för din resa med Go.