Riepilogo - Creare codice riutilizzabile
Fa parte della sezione Fondamenti del percorso GO di Coddy. Lezione 59 di 109.
Sfida
FacileStai creando un semplice calcolatore di calorie per diverse attività.
Crea una singola funzione chiamata calculateCalories che calcola quante calorie vengono bruciate durante un'attività.
La funzione dovrebbe:
- Accettare il tipo di attività (stringa), la durata in minuti (int) e il livello di intensità (float64)
- Calcolare e restituire le calorie bruciate in base al tipo di attività, alla durata e all'intensità
Usa queste quantità di calorie al minuto con intensità normale (1.0):
- Corsa: 10 calorie al minuto
- Nuoto: 8 calorie al minuto
- Ciclismo: 7 calorie al minuto
- Qualsiasi altra attività: 5 calorie al minuto
Le calorie finali devono essere calcolate come: calorie di base × durata × intensità
Provalo tu
package main
import "fmt"
// calculateCalories determina quante calorie vengono bruciate durante un'attività
// Parametri:
// - activity: il tipo di esercizio ("running", "swimming", "cycling" o qualsiasi altra attività)
// - duration: la durata dell'attività (in minuti)
// - intensity: un moltiplicatore che rappresenta l'intensità dell'allenamento (1.0 è normale)
// Restituisce:
// - il totale delle calorie bruciate
func calculateCalories(activity string, duration int, intensity float64) float64 {
// TODO: implementare questa funzione per calcolare le calorie bruciate in base a:
// 1. Determinare il consumo calorico di base al minuto in base al tipo di attività:
// - "running" brucia 10 calorie al minuto con intensity pari a 1.0
// - "swimming" brucia 8 calorie al minuto con intensity pari a 1.0
// - "cycling" brucia 7 calorie al minuto con intensity pari a 1.0
// - Qualsiasi altra attività consuma 5 calorie al minuto a intensità 1.0
// 2. Calcola le calorie totali come: calorie di base × durata × intensità
// 3. Restituisci le calorie calcolate
return 0 // Sostituisci con la tua implementazione
}
func main() {
// Testa la funzione con attività diverse
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))
}
Tutte le lezioni di Fondamenti
4Operatori di confronto e logici
Operatori di confronto - Parte 1Operatori di confronto - Parte 2Operatore AND logicoOperatore OR logicoOperatore NOT logicoNozioni di base sulla precedenza degli operatoriRiepilogo - Eseguire confronti7Flusso di controllo: cicli
Come funziona il ciclo `for`Ciclo `for` - baseCiclo `for` - solo condizioneLa parola chiave `break`La parola chiave `continue`Cicli annidatiRiepilogo - ripetere le azioni2Variabili e tipi di dati di base
Che cos'è una variabileInferenza del tipo con `:=`Numeri interi (int)Numeri in virgola mobileValori booleaniStringheValori zeroCostantiConvenzioni di denominazioneRiepilogo: variabili e tipi5Input/output di base
Output formattatoVerbi di formattazioneVisualizzazione dei tipiAcquisire input di base dall’utenteRiepilogo - Input e output8Funzioni
Capire le funzioniDichiarare una funzioneChiamare le funzioniParametri delle funzioniRestituire un singolo valoreRestituire più valoriValori restituiti con nomeFondamenti dell'ambito delle funzioniRiepilogo - Creare codice riutilizzabile3Operatori di base
Operatori aritmeticiOperatore di divisioneL'operatore moduloOperatore di assegnazioneOperatori di assegnazione compostaIncremento e decrementoRiepilogo - Calcoli6Flusso di controllo: condizioni
L'istruzione `if`La parola chiave `else`La parola chiave `else if`Ombreggiamento delle variabili in `if`Inizializzare le variabiliL'istruzione `switch``switch` con espressioni`switch` senza espressioneLa parola chiave `fallthrough`Riepilogo: prendere decisioni9Puntatori
Che cos’è un puntatore?Dichiarare variabili puntatoreL’operatore indirizzoDereferenziare i puntatoriUsare i puntatori nelle funzioniPuntatori nilRipasso - Capire i puntatori12Tipi compositi: mappe
Introduzione alle mappeDichiarare i letterali delle mappeCreare mappe con `make`Aggiungere e aggiornare coppie chiave-valoreAccedere ai valori delle mappeVerificare l'esistenza di una chiaveEliminare elementi dalle mappeLunghezza delle mappeIterare sulle mappeRiepilogo - Archiviazione chiave-valoreEsercitati da solo: Compilatore Go online