Icona dell'app Imparare Go: Corso Code

Imparare Go: Corso Code

Istruzione · Gratuita · iOS & Android · CoddyKit

Imparare Go: Corso Code — Un tutorial di Golang con compilatore, race detector e kata quotidiani sul tuo telefono

Imparare Go: Corso Code è un tutorial di Golang gratuito per iOS e Android, pensato per principianti e sviluppatori professionisti, con compilatore ed editor Go che eseguono il tuo codice su una toolchain Go reale (è necessaria una connessione a internet). Verifica il codice con gofmt, go vet e il race detector e affronta 51 corsi, dal tuo primo fmt.Println fino a goroutine, API REST e gRPC, con un Mentor AI per le parti che non ti sono chiare.

App Store — Scarica gratisGoogle Play — Scarica gratis
Prezzo
Gratis, upgrade Pro
Piattaforme
iOS e Android
Lingue
22
Fascia d'età
4+
Requisiti
iOS 15.1 o versioni successive
Schermata iniziale del percorso di apprendimento di Go con un pulsante Inizia la prima lezione, un anello per l’obiettivo giornaliero e una scheda per inviare richieste di funzionalitàPanoramica del corso Go Kickoff Concepts and Setup con una barra di avanzamento, un primo gruppo di lezioni gratuito e un pulsante Cambia corso
51Corsi, da A1 a C1
-raceConcurrency Lab con il race detector
QuotidianoUn nuovo kata ogni giorno
Elimina la parola chiave go e guarda lo stesso lavoro richiedere tre volte tanto.

È la prima cosa che l'app ti fa fare con Go: esegui tre lavori da 120 ms ciascuno, osserva che il totale resta ben al di sotto di 360 ms, poi rimuovi l'unica parola chiave che li rende concorrenti. L'intera promessa del linguaggio sta in una sola parola, e l'app ti permette di percepirne l'effetto prima di spiegarlo.

Cos'è

Imparare Go: Corso Code è un'app gratuita per iOS e Android per imparare Go, il linguaggio compilato alla base di gran parte dei software cloud e server di oggi. Include 51 corsi e 203 lezioni, dal livello principiante a quello avanzato, un editor di codice che esegue i programmi su una toolchain Go reale, un kata quotidiano, un Concurrency Lab con un race detector reale e un percorso guidato in cui costruisci il tuo core HTTP. Un Mentor AI risponde alle domande su qualsiasi lezione.

Dentro l'app

Come si presenta

Schermata iniziale del percorso di apprendimento di Go con un pulsante Inizia la prima lezione, un anello per l’obiettivo giornaliero e una scheda per inviare richieste di funzionalità
Percorso di apprendimentoLa schermata iniziale si apre sul percorso di apprendimento, con un pulsante di avvio, un obiettivo giornaliero e un link allo Skill Hub.
Panoramica del corso Go Kickoff Concepts and Setup con una barra di avanzamento, un primo gruppo di lezioni gratuito e un pulsante Cambia corso
Panoramica del corsoIl primo corso, Go Kickoff: Concepts & Setup, è contrassegnato come gratuito ed è suddiviso in tre brevi lezioni.
Editor di codice che mostra un programma Go con package main, import fmt e chiamate a fmt.Println accanto a una lezione sul primo programma
Editor di codiceUna lezione intitolata Il tuo primo programma, con l’editor di codice aperto su un file package main e un pulsante di esecuzione.
Schermata della chat AI con suggerimenti per spiegare i concetti chiave, dare consigli, mettermi alla prova e creare una roadmap di apprendimento
Mentor AIQuattro suggerimenti avviano la chat: spiega i concetti chiave, dammi dei consigli, fammi un quiz oppure crea una roadmap.
Schermata iniziale con tema chiaro, percorso di apprendimento, obiettivo giornaliero e Skill Hub
Schermata inizialeLa stessa schermata iniziale con tema chiaro, con l’obiettivo giornaliero e lo Skill Hub sotto il corso attivo.

Il corso

Cosa comprende il corso di Go

51 corsi e 203 lezioni dall’elenco dei corsi dell’app, classificati da A1 a C1 e organizzati dal primo programma fino al profiling e al garbage collector.

  1. Benvenuti in Go e alle basi

    Cos’è Go e perché Google lo ha creato, poi variabili, tipi e valori zero, costanti e controllo del flusso con if, for e switch.

  2. Funzioni, Slice e Map

    Funzioni con più valori restituiti, defer e parametri variadici, array, slice e map, oltre a stringhe, formattazione con fmt e package time.

  3. Struct, puntatori e interfacce

    Struct e metodi, receiver di tipo valore rispetto a quelli di tipo puntatore, puntatori, interfacce implicite e duck typing, oltre all’embedding per la composizione.

  4. Errori, package e libreria standard

    Gestione esplicita degli errori con errors.Is ed errors.As, package e moduli, I/O su file e JSON, espressioni regolari, ordinamento e I/O con buffer.

  5. Goroutine, channel e Sync

    Fondamenti di goroutine e channel, select e pattern per i channel, mutex e package sync, context per la cancellazione, oltre a worker pool e pipeline.

  6. HTTP, REST e database

    Server e client HTTP con net/http, API REST con Gin, pattern per i middleware, database/sql con sqlx e pgx, GORM e WebSocket.

  7. Testing, strumenti e deployment

    Test basati su tabelle e sottotest, app da riga di comando con Cobra, configurazione con Viper, logging strutturato con slog e build Docker multi-stage.

  8. Go avanzato

    Generics con parametri di tipo e vincoli, benchmarking e profiling con pprof, gRPC con Protocol Buffers, reflection e modello di memoria.

Come funziona

Come funziona una sessione

Ogni lezione è una breve lettura seguita da codice da eseguire, così teoria e pratica si svolgono nella stessa sessione.

  1. Leggi una breve lezione

    Apri un corso e segui una singola lezione di pochi minuti, con la teoria spiegata in modo semplice e un piccolo esempio, come il programma package main e fmt.Println della primissima lezione.

  2. Eseguilo su una toolchain Go reale

    L'editor invia il tuo programma a un runner Go e ne mostra l'output. Anche gofmt, go vet e il race detector vengono eseguiti nello stesso modo, quindi l'app ha bisogno di una connessione quando premi Esegui; se un programma va in crash, viene mostrata una spiegazione dell'errore in linguaggio semplice.

  3. Esercitati da un'altra prospettiva

    Dopo un argomento, fai il quiz, risolvi il kata quotidiano, affronta un rompicapo sulla concorrenza oppure chiedi al Mentor AI di farti delle domande. Ognuna di queste attività esamina la stessa idea in modo diverso, aiutandoti a fissarla.

Cosa include

Cosa include l'app

51

Corsi, da A1 a C1

203 lezioni distribuite su 51 corsi, dalle basi di Go a slice e map, passando per interfacce, gestione degli errori, goroutine, net/http, Gin, accesso ai database, deployment con Docker, gRPC e garbage collector.

-race

Concurrency Lab con il race detector

Sei rompicapi eseguibili coprono due goroutine su un channel, un handshake non bufferizzato, un fan-out con WaitGroup, un contatore che perde aggiornamenti, una map con due writer e un deadlock. Puoi anche eseguire il tuo codice con il race detector, gratis e senza limite giornaliero.

Quotidiano

Un nuovo kata ogni giorno

Un esercizio di Go verificato rispetto a una tabella di casi, inclusi quelli nascosti, con una spiegazione di riferimento alla fine. Il kata quotidiano è gratuito per tutti; Pro sblocca la libreria completa, le soluzioni di riferimento e le spiegazioni.

Doctor

Go Doctor

Controlla se gofmt riscriverebbe il tuo file e applicalo, esegui go vet per individuare i problemi e, con Pro, chiedi all'escape analysis del compilatore perché un valore viene allocato. La formattazione è illimitata, mentre go vet è limitato a tre esecuzioni al giorno nel piano gratuito.

7 passaggi

Costruisci il tuo core HTTP

Un percorso guidato in cui scrivi personalmente la richiesta, la risposta, gli handler come funzioni, il routing, i parametri del percorso, il middleware e il JSON con errori wrapped, un passaggio verificato alla volta.

AI

Mentor AI e colloquio simulato

Chiedi al Mentor AI di spiegarti un concetto, indicarti un percorso o farti delle domande. Un colloquio simulato propone cinque domande su Go a livello junior, mid o senior e assegna un punteggio alle tue risposte, con un colloquio valutato gratuito a settimana.

Ripasso

Go Recall e Go by Example

Brevi schede “cosa stampa questo codice?” sui classici trabocchetti, come l'ordine di defer, le map nil e la condivisione della memoria con append, oltre a snippet eseguibili della libreria standard che puoi eseguire e modificare.

Contesto

Perché imparare Go per lavorare sul backend e cosa lo rende diverso?

Go è un linguaggio compilato e tipizzato staticamente, creato da Google e ampiamente usato per servizi web, strumenti da riga di comando e infrastrutture cloud. Il suo punto di forza per il backend è che molte funzionalità sono già integrate: la concorrenza fa parte del linguaggio, la libreria standard copre gran parte di ciò che serve a un piccolo servizio e un programma viene compilato in un singolo binario, senza nulla da installare oltre a esso. Il linguaggio è volutamente essenziale: questo lo rende rapido da leggere, ma richiede ai principianti di imparare presto alcune abitudini poco familiari.

Goroutine e channelconcorrenza senza gestire i thread

Una goroutine è una funzione avviata con la parola chiave go, mentre un channel è il canale che le goroutine usano per passarsi i valori. Insieme sostituiscono la maggior parte della gestione manuale dei thread, ed è per questo che la concorrenza viene insegnata fin dall'inizio invece di essere lasciata agli argomenti avanzati.

Gli errori sono valorinessuna eccezione

Una funzione Go che può fallire restituisce un errore come normale secondo valore, che il chiamante verifica subito. Richiede più codice rispetto a un blocco try, ma fa sì che ogni percorso di errore sia visibile nel codice che stai leggendo.

Interfacce impliciteduck typing, verificato in fase di compilazione

Un tipo soddisfa un'interfaccia semplicemente avendo i metodi corretti: non è necessario dichiarare nulla. Questo mantiene i pacchetti debolmente accoppiati ed è anche il punto in cui si nasconde una classica sorpresa di Go: un'interfaccia che contiene un puntatore nil non è a sua volta nil.

Un singolo binario e una grande libreria standardperché il deployment è semplice

Go compilato produce un singolo eseguibile e pacchetti come net/http, encoding/json e database/sql sono inclusi nel linguaggio. Spesso un piccolo servizio non ha bisogno di framework di terze parti: è uno dei motivi per cui le immagini Docker dei programmi Go possono essere leggere.

Adatta

A chi è adatta — e a chi no

Fa al caso tuo se

  • Vuoi un corso di Golang da seguire in brevi sessioni sul telefono
  • Scrivi già in un altro linguaggio e vuoi vedere goroutine e channel in esecuzione
  • Punti a ruoli backend o cloud e vuoi domande da colloquio su Go con feedback valutato
  • Impari meglio con piccoli esercizi e schede sui casi insidiosi che con video lunghi
  • Vuoi controllare la formattazione, i risultati di vet e le data race sul codice che hai scritto tu

Non è lo strumento giusto se

  • Devi eseguire programmi che importano net/http o usano i generics nell’esecutore integrato nell’app, che è una sandbox Go 1.13
  • Vuoi eseguire il codice senza connessione, perché l’esecutore è online
  • Ti aspetti che sia tutto gratuito: il primo corso, la kata giornaliera e una quota giornaliera di Mentor AI sono gratuiti, mentre Pro sblocca tutto il resto
  • Devi creare e distribuire un servizio grande composto da molti package, un’attività che richiede comunque un laptop e l’intera toolchain

Domande

Domande frequenti

Qual è il modo migliore per imparare Golang sul telefono?

Le lezioni brevi abbinate a codice che esegui davvero sono più efficaci della sola lettura, e Go premia l’esecuzione pratica perché le sue funzionalità migliori, le goroutine e il race detector, si manifestano nel comportamento del programma. Imparare Go: Corso Code abbina lezioni di pochi minuti a un editor, una kata giornaliera e un Concurrency Lab. Puoi iniziare gratuitamente su iOS e Android, con 51 corsi ordinati dal livello principiante a quello avanzato.

Puoi compilare ed eseguire codice Go sul telefono?

Sì, con una connessione. Imparare Go: Corso Code invia il tuo programma a un esecutore Go e ne mostra l’output; lo stesso esecutore fornisce gofmt, go vet e il race detector. Il codice non viene eseguito direttamente sul telefono, quindi devi essere online quando premi Esegui, e l’esecutore ha dei limiti, come una piccola quantità di memoria disponibile e una dimensione massima del binario.

L’esecutore integrato nell’app supporta i generics?

Non ancora. L’esecutore di Imparare Go: Corso Code usa Go 1.13, mentre i generics sono arrivati in Go 1.18, quindi un programma che utilizza parametri di tipo o la keyword any non verrà compilato. Quando succede, l’app lo spiega in modo semplice e suggerisce la forma precedente. Il corso sui generics è comunque disponibile per la lettura come lezione.

Cos’è il race detector di Go e come lo usa l’app?

Il race detector segnala quando due goroutine accedono alla stessa memoria senza un lock tra loro, un bug che si manifesta solo alcune volte. In Imparare Go: Corso Code, il Concurrency Lab esegue sotto il detector esercizi come un contatore aggiornato da 200 goroutine e ti permette di aggiungere un mutex ed eseguire di nuovo il codice. Puoi anche incollare il tuo codice con goroutine ed eseguirlo sotto il detector.

Cos’è una kata di Go?

Una kata è un piccolo esercizio mirato che risolvi scrivendo codice, ad esempio invertire correttamente una stringa contenente testo non-ASCII oppure fare il wrapping di un errore in modo che errors.Is possa ancora trovarlo. Imparare Go: Corso Code propone ogni giorno una nuova kata, controlla la tua funzione su una tabella di casi che include anche casi nascosti e spiega l’idiom utilizzato alla fine. La kata giornaliera è gratuita per tutti.

Serve esperienza di programmazione per iniziare?

No. Imparare Go: Corso Code inizia spiegando cos’è Go e perché esiste, poi passa a variabili, tipi e controllo del flusso; ogni concetto viene spiegato in linguaggio semplice prima di essere messo in pratica. L’esperienza con un altro linguaggio ti aiuta a procedere più velocemente nei primi corsi, ma il primo corso è pensato per chi parte da zero.

Learn Go è gratuito?

L’app è gratuita da scaricare. Il primo corso è gratuito, così come la kata giornaliera, una quota giornaliera di Mentor AI, controlli gofmt illimitati, esecuzioni illimitate sotto il race detector e alcune esecuzioni di go vet al giorno. Pro sblocca tutti i corsi, rimuove gli annunci, offre Mentor AI illimitato e apre la libreria delle kata e l’escape analysis.

C’è un certificato alla fine?

Sì. Superare l’esame finale ti dà un certificato di completamento del corso. Mostra il lavoro che hai svolto e si abbina bene a un piccolo progetto che puoi illustrare durante un colloquio, ma non è una qualifica accademica accreditata.

Learn Go aiuta a prepararsi ai colloqui su Golang?

Sì. Il colloquio simulato propone cinque domande a livello junior, mid o senior, dagli slice rispetto agli array fino a cosa contiene un valore di interfaccia durante l’esecuzione, e valuta le tue risposte fornendo feedback. Le schede Go Recall fanno esercitare sui comuni casi insidiosi, mentre gli argomenti più deboli emersi durante un colloquio vengono aggiunti al tuo mazzo di ripasso. Un colloquio valutato a settimana è gratuito.

Quali piattaforme e linguaggi supporta?

Imparare Go: Corso Code funziona su iOS tramite App Store e su Android tramite Google Play, e l’interfaccia è disponibile in 22 lingue. Ha una classificazione 4+, quindi nulla nei contenuti è soggetto a limiti di età.

Inizia

Scrivi oggi la tua prima goroutine

Gratis per iniziare su iOS e Android, in 22 lingue.

App Store — Scarica gratisGoogle Play — Scarica gratis
Ultima revisione · Pubblicata da CoddyKit · Privacy policy
Disponibile su iOS e Android.