
Smettetela di cercare di scrivere codice Go come se fossimo ancora nel 2012.
È arrivata la versione 1.27 di Go e, a differenza di quei release notes aziendali che sembrano scritti da un bot addestrato a non dire nulla, qui c’è della sostanza vera. Non è il solito update che cambia le virgole per fare piacere ai manager, ma un passo avanti concreto verso quello che noi chiamiamo ‘scrivere codice senza piangere’.
Il vero protagonista? I metodi generici. Finalmente possiamo dire addio a quella danza macabra di duplicazione di codice dove dovevi scrivere una versione diversa della stessa identica funzione per ogni tipo di intero. Se prima dovevi fare il tour de force tra `Int32N`, `Int64N` e `IntN`, ora con i generici puoi avere un unico metodo che fa il lavoro sporco per tutti. È un upgrade che rende il linguaggio meno verboso e molto più vicino a quello che ci aspettiamo da un linguaggio moderno, senza però sacrificare quella semplicità che rende Go il re dei microservizi.
E parlando di semplicità, un grande applauso alla gestione dei struct literal. Adesso puoi inizializzare i campi degli struct annidati direttamente. Sembra una sciocchezza, ma quando hai gerarchie di strutture che sembrano un albero di Yggdrasil, poter puntare direttamente a `Burrow` in un `Gopher` senza dover navigare per tre livelli di nesting è una liberazione per la salute mentale.
Ma non è tutto. Se lavorate con il JSON (e sapete bene che in ogni progetto web c’è un’infinità di JSON spuntati dal nulla), il nuovo `encoding/json/v2` è una bomba. È più veloce, più rigoroso e più configurabile. Addio a quei workaround creativi che usavamo per gestire strutture malformate o tipi strani; qui la gestione è seria, quasi professionale.
Per i puristi del low-level, ci sono anche le novità sulle SIMD (sperimentali, ma comunque fighe) e l’introduzione di `crypto/mldsa`. Sì, stiamo già parlando di crittografia post-quantum. Mentre il resto del mondo si preoccupa di come sopravvivere alla prossima crisi economica, noi stiamo già preparando i binari per quando i computer quantistici renderanno obsoleti i nostri attuali standard di sicurezza. Un po’ come preparare le difese di Asteroid per un’invasione alienica che non sappiamo nemmeno se arriverà.
In sintesi: meno boilerplate, performance leggermente migliori (grazie all’allocazione ottimizzata per i piccoli oggetti) e strumenti che finalmente capiscono come lavoriamo noi. Se avete un progetto in corso, aggiornate. Se non lo avete, createne uno solo per testare queste nuove chicche. Il futuro è scritto in Go, e stavolta sembra decisamente meno noioso.
Source: Go 1.27
