
Generics
Type parameters, constraints, comparable, any, funciones genéricas, tipos genéricos, inferencia de tipos
1¿Qué es un type parameter en Go?
¿Qué es un type parameter en Go?
Respuesta
Un type parameter es una variable de tipo utilizada en definiciones de funciones o tipos genéricos, declarada entre corchetes. Permite escribir código reutilizable que funciona con diferentes tipos sin sacrificar la type safety. Los type parameters se instancian con type arguments concretos durante su uso, permitiendo que el compilador verifique la coherencia de tipos en tiempo de compilación en lugar de en tiempo de ejecución.
2¿Cuál es la sintaxis correcta para declarar una función genérica simple?
¿Cuál es la sintaxis correcta para declarar una función genérica simple?
Respuesta
La sintaxis correcta para declarar una función genérica usa corchetes inmediatamente después del nombre de la función para definir los type parameters. La contraint any permite aceptar cualquier tipo, similar a interface{} pero con una semántica más clara en el contexto de los generics. Esta sintaxis se introdujo en Go 1.18 para habilitar la programación genérica manteniendo la simplicidad del lenguaje.
3¿Qué representa la restricción 'any' en Go?
¿Qué representa la restricción 'any' en Go?
Respuesta
La restricción any es un alias de interface{} que representa el conjunto de todos los tipos posibles en Go. Permite que un type parameter acepte cualquier tipo sin restricción, ofreciendo la máxima flexibilidad. Aunque es práctico, usar any significa renunciar a la verificación de tipos específica y a menudo requiere type assertions para acceder a métodos o propiedades del tipo subyacente.
¿Cuál es la principal diferencia entre 'any' y 'comparable' como restricciones?
¿Cómo declarar un tipo genérico personalizado como una stack?
+17 preguntas de entrevista
Otros temas de entrevista Go
Fundamentos de Go
Estructuras de datos en Go
Interfaces en Go
Manejo de errores
Goroutines básicas
Channels
Go Modules
Servidor HTTP
Cliente HTTP
Codificación JSON
Database/SQL
Paquete context
Testing
Patrones de concurrencia
Primitivas de sincronización
Frameworks web de Go
Diseño de API REST
gRPC
Reflection
Gestión de memoria
Optimización del rendimiento
Go Design Patterns
Microservices
Seguridad y autenticación
Docker & Containerization
Kubernetes Basics
Go Avanzado
Desarrollo de CLI
Domina Go para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis