Go

Reflection

pacote reflect, inspeção de tipos, manipulação de valores, struct tags, casos de uso, desempenho

20 perguntas de entrevista·
Senior
1

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.

2

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.).

3

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'.

4

Como modificar o valor de uma variável via reflection?

5

O que é um reflect.Kind?

+17 perguntas de entrevista

Domine Go para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis