
Generics
Type parameters, constraints, comparable, any, funções genéricas, tipos genéricos, inferência de tipos
1O que é um type parameter em Go?
O que é um type parameter em Go?
Resposta
Um type parameter é uma variável de tipo usada em definições de funções ou tipos genéricos, declarada entre colchetes. Ele permite escrever código reutilizável que funciona com diferentes tipos sem sacrificar a type safety. Os type parameters são instanciados com type arguments concretos durante o uso, permitindo que o compilador verifique a consistência dos tipos em tempo de compilação em vez de em tempo de execução.
2Qual é a sintaxe correta para declarar uma função genérica simples?
Qual é a sintaxe correta para declarar uma função genérica simples?
Resposta
A sintaxe correta para declarar uma função genérica usa colchetes imediatamente após o nome da função para definir os type parameters. A constraint any permite aceitar qualquer tipo, semelhante a interface{}, mas com semântica mais clara no contexto dos generics. Essa sintaxe foi introduzida no Go 1.18 para permitir a programação genérica mantendo a simplicidade da linguagem.
3O que a constraint 'any' representa em Go?
O que a constraint 'any' representa em Go?
Resposta
A constraint any é um alias para interface{} que representa o conjunto de todos os tipos possíveis em Go. Ela permite que um type parameter aceite qualquer tipo sem restrição, oferecendo flexibilidade máxima. Embora conveniente, usar any significa abrir mão da verificação de tipos específica e frequentemente requer type assertions para acessar métodos ou propriedades do tipo subjacente.
Qual é a principal diferença entre 'any' e 'comparable' como constraints?
Como declarar um tipo genérico personalizado como uma stack?
+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
Reflection
Gerenciamento de memória
Otimização de desempenho
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