2 repositorios
Uses reflect.DeepEqual for comparing slices, maps, and other non-comparable types.
Distinct from Value Comparators: Distinct from Value Comparators: focuses on using reflection for deep equality, not general comparison logic.
Explore 2 awesome GitHub repositories matching data & databases · Reflection-Based Comparison. Refine with filters or upvote what's useful.
100 Go Mistakes is a reference book and code review companion that catalogues frequent Go programming anti-patterns and provides corrected implementations for each one. It covers a wide range of common pitfalls, from range loop variable capture and interface nil handling to error wrapping and map iteration randomization, helping developers recognize and avoid these issues in their own code. The project distinguishes itself by offering a structured, example-driven approach to learning idiomatic Go. It covers core design decisions such as when to use pointer versus value receivers, how to apply
Documents using reflect.DeepEqual for comparing non-comparable types.
go-cmp es una librería de comparación de valores para Go diseñada para su uso en suites de pruebas. Funciona como una herramienta de diferencia de datos recursiva y de aserción que determina si dos estructuras de datos complejas son semánticamente iguales en lugar de depender de una igualdad estricta a nivel de bits. La librería proporciona un framework para definir lógica de comparación especializada, permitiendo a los usuarios registrar anulaciones de igualdad personalizadas para tipos específicos. Incluye mecanismos para gestionar cómo se manejan los campos no exportados durante el recorrido para prevenir panics en tiempo de ejecución durante comprobaciones de igualdad profunda. El sistema utiliza el recorrido de valores basado en reflexión para identificar discrepancias específicas entre los valores esperados y los reales, produciendo diferencias detalladas cuando los valores no coinciden. Soporta despacho de igualdad específico por tipo y comportamiento de comparación configurable.
Uses Go reflection to recursively walk through complex data structures for deep equality checks.