Grow with AppMaster Grow with AppMaster.
Become our partner arrow ico

Go 1.18 rilasciato ufficialmente con rivoluzionarie funzionalità generiche

Go 1.18 rilasciato ufficialmente con rivoluzionarie funzionalità generiche

L'attesissimo linguaggio di programmazione Go 1.18 è stato finalmente lanciato come versione di produzione, con le sue rivoluzionarie capacità generiche. Questo segna il cambiamento più significativo al linguaggio di programmazione Go dal lancio iniziale di Go 1.0 nel 2012. Go 1.18 può essere scaricato su go.dev a partire dal 15 marzo.

Generics è stata la funzionalità più richiesta dai programmatori Go, offrendo supporto per codice generico utilizzando tipi parametrizzati. Le versioni successive dovrebbero fornire ulteriore supporto per casi d'uso generici più complessi. Gli utenti possono accedere alle informazioni su questa funzione tramite un'esercitazione generica e le note di rilascio .

Il server di lingua Go, gopls, insieme all'estensione Visual Studio Code Go, ora supporta i generics. Per istruzioni sull'installazione di gopls con generics, fare riferimento alla documentazione.

La versione di produzione Go 1.18 segue le sue fasi beta e release candidate. Il rilascio iniziale era stato anticipato per febbraio 2022 ma è stato ritardato fino a metà marzo. Go 1.18 Beta 1, che ha debuttato il 14 dicembre, è stata la prima versione di anteprima del linguaggio open source sviluppato da Google per supportare il codice generico utilizzando tipi parametrizzati. Questa versione beta è stata anche la beta di Go più scaricata di sempre, vantando il doppio dei download rispetto a qualsiasi versione beta precedente.

La programmazione generica è un miglioramento che consente la rappresentazione di funzioni e strutture di dati in una forma generica con i tipi che vengono scomposti. Ciò facilita la condivisione del codice e semplifica la creazione di programmi.

Il team di Go ha consigliato cautela quando ci si avvicina alle nuove funzionalità generiche, poiché potrebbero emergere nuovi bug con qualsiasi nuova funzionalità significativa. Inoltre, il supporto per casi sottili specifici, come alcuni tipi di tipi generici ricorsivi, è stato rinviato alle versioni future.

Nonostante questo avvertimento, secondo quanto riferito, i primi utenti sono rimasti soddisfatti della nuova funzionalità. Un breve tutorial su come iniziare con i generici è stato pubblicato qui . Sebbene Go avesse tipi di interfaccia, una forma di programmazione generica, mancava di alcuni aspetti che gli sviluppatori di Go volevano dai generici, come riportato in un post sul blog di luglio 2019. Ad esempio, i sostenitori di Go generics cercavano funzioni come Reverse senza preoccuparsi del tipo di elemento di una sezione.

Le note rilasciate per Go 1.18 evidenziano anche le sue altre caratteristiche chiave, come:

  • Supporto integrato per la scrittura di test basati su fuzzing per identificare gli input che causano l'arresto anomalo di un programma o restituiscono risposte non valide. Questa funzione è sperimentale in Go 1.18.
  • Una modalità dell'area di lavoro Go che consente agli sviluppatori di lavorare con più moduli Go contemporaneamente, essenziale per progetti più estesi.
  • Un comando go version -m migliorato che ora registra i dettagli della build, come i flag del compilatore.
  • Una variabile di ambiente GOAMD64 che consente agli utenti di scegliere tra quattro versioni dell'architettura AMD64.
  • Miglioramenti delle prestazioni della CPU su Apple M1, ARM64 e PowerPC64 fino al 20%, attribuibili all'espansione della convenzione di chiamata ABI del registro Go 1.17 a queste architetture.
  • Le porte Windows/Arm e Windows/Arm64 ora supportano la prelazione non cooperativa, rendendo questa funzionalità disponibile per tutte e quattro le porte Windows e risolvendo potenzialmente bug sottili riscontrati durante la chiamata a funzioni Win32 che si bloccano per periodi prolungati.
  • Overhead di Garbage Collection più prevedibile quando le origini non heap del lavoro di GC sono significative, a causa dell'inclusione di queste origini quando si determina la frequenza delle esecuzioni di Garbage Collection.

Go 1.17 è stato rilasciato ad agosto. Go è meglio conosciuto per il suo utilizzo nello sviluppo del sistema di contenitori Docker ed è stato progettato per essere un linguaggio di programmazione semplice e di facile apprendimento con un solido supporto per la concorrenza. Per gli sviluppatori che desiderano esplorare soluzioni no-code, come la piattaforma di AppMaster, per creare applicazioni Web, mobili e back-end, può aiutare ad accelerare lo sviluppo delle applicazioni e ridurre i costi eliminando al contempo il debito tecnico.

Post correlati

AppMaster a BubbleCon 2024: esplorazione delle tendenze senza codice
AppMaster a BubbleCon 2024: esplorazione delle tendenze senza codice
AppMaster ha partecipato al BubbleCon 2024 di New York, acquisendo informazioni, ampliando le reti ed esplorando opportunità per guidare l'innovazione nello spazio di sviluppo no-code.
Riepilogo FFDC 2024: approfondimenti chiave dalla FlutterFlow Developers Conference di New York
Riepilogo FFDC 2024: approfondimenti chiave dalla FlutterFlow Developers Conference di New York
FFDC 2024 ha illuminato New York City, offrendo agli sviluppatori approfondimenti all'avanguardia sullo sviluppo di app con FlutterFlow. Con sessioni condotte da esperti, aggiornamenti esclusivi e networking senza pari, è stato un evento da non perdere!
Licenziamenti tecnologici del 2024: l'ondata continua che colpisce l'innovazione
Licenziamenti tecnologici del 2024: l'ondata continua che colpisce l'innovazione
Con 60.000 posti di lavoro tagliati in 254 aziende, tra cui giganti come Tesla e Amazon, il 2024 vedrà una continua ondata di licenziamenti nel settore tecnologico che rimodellerà il panorama dell'innovazione.
Inizia gratis
Ispirato a provarlo tu stesso?

Il modo migliore per comprendere il potere di AppMaster è vederlo di persona. Crea la tua applicazione in pochi minuti con l'abbonamento gratuito

Dai vita alle tue idee