Récapitulatif - Créer du code réutilisable
Fait partie de la section Fondamentaux du Journey GO de Coddy — leçon 59 sur 109.
Défi
FacileVous construisez un calculateur de calories simple pour différentes activités.
Créez une fonction unique appelée calculateCalories qui calcule le nombre de calories brûlées pendant une activité.
La fonction doit :
- Prendre un type d'activité (string), une durée en minutes (int) et un niveau d'intensité (float64)
- Calculer et retourner les calories brûlées en fonction du type d'activité, de la durée et de l'intensité
Utilisez ces taux de calories par minute à une intensité normale (1.0) :
- Running : 10 calories par minute
- Swimming : 8 calories par minute
- Cycling : 7 calories par minute
- Toute autre activité : 5 calories par minute
Les calories finales doivent être calculées comme suit : calories de base × durée × intensité
Essayez vous-même
package main
import "fmt"
// calculateCalories détermine le nombre de calories brûlées lors d'une activité
// Paramètres :
// - activity : le type d'exercice ("running", "swimming", "cycling", ou toute autre activité)
// - duration : la durée pendant laquelle l'activité a été pratiquée (en minutes)
// - intensity : un multiplicateur représentant l'intensité de l'entraînement (1.0 est la normale)
// Retourne :
// - le total des calories brûlées
func calculateCalories(activity string, duration int, intensity float64) float64 {
// TODO: Implémenter cette fonction pour calculer les calories brûlées en fonction de :
// 1. Déterminer le taux de calories de base par minute selon le type d'activité :
// - "running" brûle 10 calories par minute à une intensité de 1.0
// - "swimming" brûle 8 calories par minute à une intensité de 1.0
// - "cycling" brûle 7 calories par minute à une intensité de 1.0
// - Toute autre activité brûle 5 calories par minute à une intensité de 1.0
// 2. Calculer le total des calories comme suit : calories de base × duration × intensity
// 3. Retourner les calories calculées
return 0 // Remplacer par votre implémentation
}
func main() {
// Tester la fonction avec différentes activités
fmt.Println("Running for 30 minutes at intensity 1.2:", calculateCalories("running", 30, 1.2))
fmt.Println("Swimming for 45 minutes at intensity 1.0:", calculateCalories("swimming", 45, 1.0))
fmt.Println("Cycling for 60 minutes at intensity 1.5:", calculateCalories("cycling", 60, 1.5))
fmt.Println("Yoga for 60 minutes at intensity 0.8:", calculateCalories("yoga", 60, 0.8))
}
Toutes les leçons de Fondamentaux
4Opérateurs de comparaison et logiques
Opérateurs de comparaison - Partie 1Opérateurs de comparaison - Partie 2Opérateur logique ANDOpérateur logique OROpérateur logique NOTBases de la priorité des opérateursRécapitulatif - Effectuer des comparaisons7Structures de contrôle : Les boucles
Explication de la boucle `for`Boucle For - Les basesBoucle For - Condition uniquementLe mot-clé `break`Le mot-clé `continue`Boucles imbriquéesRécapitulatif - Répéter des actions2Variables et types de données de base
Qu'est-ce qu'une variableInférence de type avec `:=` Entiers (int)Nombres à virgule flottanteBooléensChaînes de caractères (Strings)Valeurs zéroConstantesConventions de nommageRécapitulatif - Variables et types5Entrées/Sorties de base
Sortie formatéeVerbes de formatageAffichage des typesSaisie utilisateur de baseRécapitulatif - Entrées et Sorties8Fonctions
Comprendre les fonctionsDéclarer une fonctionAppeler des fonctionsParamètres de fonctionRetourner une valeur uniqueRetourner plusieurs valeursValeurs de retour nomméesBases de la portée des fonctionsRécapitulatif - Créer du code réutilisable11Types composites : Slices
Introduction aux SlicesDéclaration de littéraux de SlicesCréation de Slices avec `make`Longueur vs Capacité des SlicesAccès aux éléments d'un SliceAjout d'élémentsDécoupage de Slices/Tableaux existantsItération sur les SlicesCopie de SlicesRécapitulatif - Listes dynamiques3Opérateurs de base
Opérateurs arithmétiquesOpérateur de divisionL'opérateur moduloOpérateur d'affectationOpérateurs d'affectation augmentéeIncrémentation et décrémentationRécapitulatif - Calculs6Structure de contrôle : Les conditionnelles
L'instruction `if`Le mot-clé `else`Le mot-clé `else if`Masquage de variable dans `if`Initialisation des variablesL'instruction `switch``switch` avec expressions`switch` sans expressionLe mot-clé `fallthrough`Récapitulatif - Prendre des décisions9Pointeurs
Qu'est-ce qu'un pointeur ?Déclaration de variables pointeursL'opérateur d'adresseDéréférencement de pointeursUtiliser des pointeurs dans les fonctionsPointeurs NilRécapitulatif - Comprendre les pointeurs12Types composites : Maps
Introduction aux MapsDéclaration de littéraux de MapCréation de Maps avec `make`Ajout et mise à jour de paires clé-valeurAccès aux valeurs d'une MapVérification de l'existence d'une cléSuppression d'entrées de MapTaille d'une MapItération sur les MapsRécapitulatif - Stockage clé-valeur