Concevoir des transformations mathématiques flexibles

GolangGolangBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce défi, vous aurez pour tâche de créer des fonctions de transformation mathématique flexibles en utilisant les capacités des fonctions anonymes de Go. Les transformations de données sont cruciales en calcul scientifique pour l'analyse et le traitement de jeux de données numériques. L'objectif de ce défi est de tester votre capacité à implémenter une fonction transformNumbers qui peut appliquer différents types d'opérations mathématiques à un slice d'entiers.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL go(("Golang")) -.-> go/DataTypesandStructuresGroup(["Data Types and Structures"]) go(("Golang")) -.-> go/FunctionsandControlFlowGroup(["Functions and Control Flow"]) go/DataTypesandStructuresGroup -.-> go/slices("Slices") go/FunctionsandControlFlowGroup -.-> go/functions("Functions") subgraph Lab Skills go/slices -.-> lab-437201{{"Concevoir des transformations mathématiques flexibles"}} go/functions -.-> lab-437201{{"Concevoir des transformations mathématiques flexibles"}} end

Concevoir des transformations mathématiques flexibles

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

Tâches

  • Implémentez la fonction transformNumbers qui prend un slice d'entiers et une fonction anonyme comme paramètres
  • La fonction doit appliquer la transformation à chaque nombre du slice d'entrée
  • Retournez un nouveau slice avec les nombres transformés
  • Créez au moins deux transformations différentes dans la fonction main pour démontrer la flexibilité de la fonction

Exigences

  • Utilisez le fichier math_transform.go fourni dans le répertoire ~/project
  • Implémentez la fonction transformNumbers en utilisant une fonction anonyme comme rappel (callback)
  • La fonction de transformation doit fonctionner avec différents types d'opérations mathématiques
  • Assurez-vous que le slice original n'est pas modifié
  • Affichez le slice transformé dans la fonction main

Exemples

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

go run math_transform.go

Exemple d'entrée et de sortie :

Slice d'entrée : [1, 2, 3, 4, 5]
Nombres au carré : [1 4 9 16 25]
Nombres doublés : [2 4 6 8 10]

Conseils

  • Utilisez range pour parcourir le slice d'entrée
  • Créez des fonctions anonymes avec différentes logiques de transformation
  • N'oubliez pas de retourner un nouveau slice au lieu de modifier l'original
✨ Vérifier la solution et pratiquer

Résumé

En résumé, ce défi vous demande d'implémenter une fonction transformNumbers en Go qui peut appliquer différentes transformations mathématiques à un slice d'entiers. La fonction doit prendre une fonction anonyme comme paramètre, permettant des transformations flexibles et personnalisables. Vous devrez démontrer la flexibilité de la fonction en créant au moins deux transformations différentes dans la fonction main. L'objectif est de montrer votre capacité à travailler avec des fonctions anonymes et à créer une logique de transformation réutilisable.