
Reflection
pacote reflect, inspeção de tipos, manipulação de valores, struct tags, casos de uso, desempenho
1O que é o pacote reflect em Go?
O que é o pacote reflect em Go?
Resposta
O pacote reflect permite inspecionar e manipular tipos e valores em tempo de execução (runtime). É usado para implementar bibliotecas genéricas (marshaling JSON, ORM), mas seu uso direto no código de aplicação é desencorajado porque sacrifica a segurança de tipos e o desempenho.
2Como obter o tipo de uma variável com o pacote reflect?
Como obter o tipo de uma variável com o pacote reflect?
Resposta
A função reflect.TypeOf() retorna um reflect.Type representando o tipo dinâmico da interface passada como argumento. Se a variável for nil, reflect.TypeOf() retorna nil. Usar .Kind() no Type retornado permite obter a categoria do tipo (int, string, struct, etc.).
3Qual é a diferença entre reflect.Type e reflect.Value?
Qual é a diferença entre reflect.Type e reflect.Value?
Resposta
reflect.Type representa os metadados do tipo (nome, kind, métodos, campos) e é obtido via reflect.TypeOf(). reflect.Value representa o valor concreto e permite lê-lo ou modificá-lo via reflect.ValueOf(). Ambos são complementares: Type descreve 'o quê' e Value contém 'o dado'.
Como modificar o valor de uma variável via reflection?
O que é um reflect.Kind?
+17 perguntas de entrevista
Outros temas de entrevista Go
Fundamentos de Go
Estruturas de dados em Go
Interfaces em Go
Tratamento de erros
Goroutines básicas
Channels
Go Modules
Servidor HTTP
Cliente HTTP
Codificação JSON
Database/SQL
Pacote context
Testing
Padrões de concorrência
Primitivas de sincronização
Frameworks web Go
Design de API REST
gRPC
Gerenciamento de memória
Otimização de desempenho
Generics
Go Design Patterns
Microservices
Segurança e autenticação
Docker & Containerization
Kubernetes Basics
Go Avançado
Desenvolvimento de CLI
Domine Go para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis