Go

Go

BACKEND

Linguaggio di programmazione sviluppato da Google che offre semplicità, prestazioni e concorrenza nativa. Architettura minimalista con compilazione veloce, goroutine per la concorrenza e libreria standard completa per costruire REST API, microservizi e applicazioni backend ad alte prestazioni.

Cosa imparerai

Sintassi semplice e concisa con compilazione ultra-veloce

Goroutine e channel per concorrenza nativa e leggera

Libreria standard ricca (net/http, encoding/json, testing)

Garbage collector ottimizzato e basso consumo di memoria

Compilazione statica che produce binari autonomi

Interfacce e duck typing per flessibilità senza ereditarietà

Testing nativo con go test, benchmark e race detector

Framework web (Gin, Echo, Fiber) e ORM (GORM, sqlx)

Gestione degli errori esplicita con pattern di controllo degli errori

Distribuzione semplificata (Docker, Kubernetes) con binari statici

Argomenti chiave da padroneggiare

I concetti più importanti per comprendere questa tecnologia e superare i colloqui

1

Basi Go: tipi, variabili, funzioni, pacchetti, import

2

Struct, metodi, interfacce e composizione (embedding)

3

Goroutine: parola chiave go, concorrenza vs parallelismo, scheduler

4

Channel: buffered/unbuffered, select, range, close, pattern

5

Gestione errori: tipo error, wrapping errori, panic/recover

6

Puntatori: &, *, passaggio per valore vs riferimento, puntatori nil

7

Slice e array: make, append, capacità, sotto-slice

8

Map: creazione, accesso, cancellazione, iterazione, valori zero

9

Interfacce: interfaccia vuota, asserzioni di tipo, type switch

10

Libreria standard: net/http, encoding/json, io, context

11

Server HTTP: http.Handler, http.HandlerFunc, multiplexer

12

Context: cancellazione, timeout, valori, propagazione

13

Testing: test unitari, test table-driven, mock, copertura

14

GORM: modelli, migration, associazioni, preloading, hook

15

Framework: Gin (routing, middleware), Echo, Fiber

16

Pattern di concorrenza: pool di worker, pipeline, fan-out/fan-in

17

Middleware: concatenamento, autenticazione, logging, recovery

18

Performance: profiling (pprof), benchmark, ottimizzazioni

19

Moduli: go.mod, versionamento, dipendenze, vendoring

20

Distribuzione: Docker multi-stage build, Kubernetes, binari statici