Conception de transformations mathématiques flexibles

GolangBeginner
Pratiquer maintenant

Introduction

Dans ce défi, vous devrez concevoir des fonctions de transformation mathématique flexibles en exploitant les capacités des fonctions anonymes de Go. Les transformations de données sont essentielles en calcul scientifique pour analyser et traiter des ensembles de données numériques. L'objectif de cet exercice est de tester votre aptitude à implémenter une fonction transformNumbers capable d'appliquer différents types d'opérations mathématiques à une tranche (slice) d'entiers.

Conception de transformations mathématiques flexibles

En calcul scientifique, les transformations de données sont cruciales pour l'analyse et le traitement des jeux de données numériques. Ce défi mettra à l'épreuve votre capacité à créer des fonctions de transformation mathématique polyvalentes en utilisant les fonctions anonymes de Go.

Tâches

  • Implémenter la fonction transformNumbers qui accepte une tranche d'entiers et une fonction anonyme en paramètres.
  • La fonction doit appliquer la transformation à chaque nombre de la tranche d'entrée.
  • Retourner une nouvelle tranche contenant les nombres transformés.
  • Créer au moins deux transformations différentes dans la fonction main pour démontrer la flexibilité du système.

Exigences

  • Utiliser le fichier math_transform.go fourni dans le répertoire ~/project.
  • Implémenter la fonction transformNumbers en utilisant une fonction anonyme comme rappel (callback).
  • La fonction de transformation doit pouvoir gérer différents types d'opérations mathématiques.
  • S'assurer que la tranche d'origine n'est pas modifiée.
  • Afficher la tranche transformée dans la fonction main.

Exemples

Exécutez la fonction main pour tester différentes transformations sur la tranche d'entrée.

go run math_transform.go

Exemple d'entrée et de sortie :

Input slice: [1, 2, 3, 4, 5]
Squared numbers: [1 4 9 16 25]
Doubled numbers: [2 4 6 8 10]

Conseils

  • Utilisez range pour parcourir la tranche d'entrée.
  • Créez des fonctions anonymes avec des logiques de transformation variées.
  • N'oubliez pas de retourner une nouvelle tranche au lieu de modifier l'originale.
✨ Vérifier la solution et pratiquer

Résumé

En résumé, ce défi vous demandait d'implémenter une fonction transformNumbers en Go capable d'appliquer différentes transformations mathématiques à une tranche d'entiers. La fonction devait accepter une fonction anonyme en paramètre, permettant ainsi des transformations flexibles et personnalisables. Vous deviez démontrer cette polyvalence en créant au moins deux transformations distinctes dans la fonction main. L'objectif était de prouver votre maîtrise des fonctions anonymes et votre capacité à concevoir une logique de transformation réutilisable.