
Reflection
package reflect, ispezione dei tipi, manipolazione dei valori, struct tags, casi d'uso, prestazioni
1Cos'è il package reflect in Go?
Cos'è il package reflect in Go?
Risposta
Il package reflect consente di ispezionare e manipolare tipi e valori a runtime. È usato per implementare librerie generiche (marshaling JSON, ORM), ma il suo uso diretto nel codice applicativo è sconsigliato perché sacrifica la sicurezza dei tipi e le prestazioni.
2Come ottenere il tipo di una variabile con il package reflect?
Come ottenere il tipo di una variabile con il package reflect?
Risposta
La funzione reflect.TypeOf() restituisce un reflect.Type che rappresenta il tipo dinamico dell'interfaccia passata come argomento. Se la variabile è nil, reflect.TypeOf() restituisce nil. Usare .Kind() sul Type restituito consente di ottenere la categoria del tipo (int, string, struct, ecc.).
3Qual è la differenza tra reflect.Type e reflect.Value?
Qual è la differenza tra reflect.Type e reflect.Value?
Risposta
reflect.Type rappresenta i metadati del tipo (nome, kind, metodi, campi) e si ottiene tramite reflect.TypeOf(). reflect.Value rappresenta il valore concreto e ne consente la lettura o la modifica tramite reflect.ValueOf(). I due sono complementari: Type descrive 'cosa' e Value contiene 'il dato'.
Come modificare il valore di una variabile tramite reflection?
Cos'è un reflect.Kind?
+17 domande da colloquio
Altri argomenti di colloquio Go
Fondamenti di Go
Strutture dati in Go
Interfacce in Go
Gestione degli errori
Goroutine di base
Channels
Go Modules
Server HTTP
Client HTTP
Codifica JSON
Database/SQL
Pacchetto context
Testing
Pattern di concorrenza
Primitive di sincronizzazione
Framework web Go
Progettazione di API REST
gRPC
Gestione della memoria
Ottimizzazione delle prestazioni
Generics
Go Design Patterns
Microservices
Sicurezza e autenticazione
Docker & Containerization
Kubernetes Basics
Go Avanzato
Sviluppo CLI
Padroneggia Go per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis