Implementa las operaciones keep y discard en colecciones.
Dada una colección y un predicado sobre los elementos de la colección, keep devuelve una nueva colección que contiene aquellos elementos donde el predicado es verdadero, mientras que discard devuelve una nueva colección que contiene aquellos elementos donde el predicado es falso.
Por ejemplo, dada la colección de números:
Y el predicado:
Entonces tu operación keep debería producir:
Mientras que tu operación discard debería producir:
Ten en cuenta que la unión de keep y discard es todos los elementos.
Las funciones pueden llamarse keep y discard, o pueden necesitar nombres diferentes para no chocar con funciones o conceptos existentes en tu lenguaje.
¡No toques esa funcionalidad de filter/reject/cómo se llame que ofrece tu biblioteca estándar! Resuélvelo por tu cuenta usando otras herramientas básicas.
Regístrate en Exercism para aprender y dominar Go con 34 conceptos165 ejercicios y mentoría humana real, todo gratis.