L’identificatore vuoto `_`
Fa parte della sezione Logica e flusso del percorso GO di Coddy. Lezione 55 di 68.
A volte devi importare un pacchetto non per usare le sue funzioni o variabili esportate, ma per attivarne gli effetti collaterali. L’effetto collaterale più comune è l’esecuzione della funzione init del pacchetto, che viene eseguita automaticamente quando il pacchetto viene importato.
Go fornisce l’identificatore vuoto _ a questo scopo. Quando importi un pacchetto con l’identificatore vuoto, Go importa il pacchetto ed esegue qualsiasi codice di inizializzazione, ma non ti richiede di usare nessuno dei suoi identificatori esportati.
import _ "database/sql/driver"Questo è particolarmente utile quando hai bisogno che un pacchetto si registri con un altro sistema o esegua attività di configurazione, ma non chiami direttamente nessuna delle sue funzioni nel tuo codice. Senza l'identificatore vuoto, Go genererebbe un errore di compilazione perché hai importato un pacchetto inutilizzato.
L'identificatore vuoto dice a Go: "Importa questo pacchetto per i suoi effetti collaterali, ma non lo userò direttamente nel mio codice." In questo modo mantieni puliti gli import e ottieni comunque il comportamento di inizializzazione di cui hai bisogno.
Provalo tu
Questa lezione non include una sfida di codice.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Flusso di controllo avanzato
Switch con `fallthrough`Uscire dai cicli annidatiContinuare un ciclo specificoL'istruzione `goto`Riepilogo - Controllo avanzato dei cicli4Progetto: semplice lista di attività
Configurazione del progettoAggiungere un’attività2Struct e metodi
Definire metodi sugli structReceiver per valoreReceiver con puntatoreScegliere i receiverMetodi vs funzioniRiepilogo - comportamento degli struct5Mappe in dettaglio
Mappe di structPuntatori come valori delle mappeVerificare le mappe nilConfrontare le mappeRiepilogo - Contatore della frequenza delle parole3Interfacce (le basi)
Che cos’è un’interfaccia?Definire un’interfacciaImplementare un’interfacciaUsare i tipi interfacciaInterfaccia vuotaAsserzioni di tipoSwitch di tipoRiepilogo: forme e comportamenti6Gli insiemi in Go idiomatico
L'idioma degli insiemi in GoCreare un insiemeAggiungere elementi a un insiemeVerificare l'appartenenzaRimuovere elementi da un insiemeIterare su un insiemeRiepilogo - Nomi utente univoci9Pacchetti e ambito
Che cos’è un pacchetto?Esportato e non esportatoCreare un pacchetto sempliceAlias dei pacchettiL’identificatore vuoto `_`La funzione `init`Riepilogo: creare un’utilitàEsercitati da solo: Compilatore Go online