Podsumowanie — tworzenie wielokrotnego użytku kodu
Część sekcji Podstawy ścieżki GO w Coddy. Lekcja 59 z 109.
Wyzwanie
ŁatwyTworzysz prosty kalkulator kalorii dla różnych aktywności.
Utwórz pojedynczą funkcję o nazwie calculateCalories, która oblicza, ile kalorii spala się podczas aktywności.
Funkcja powinna:
- Przyjmować typ aktywności (string), czas trwania w minutach (int) oraz poziom intensywności (float64)
- Obliczać i zwracać liczbę spalonych kalorii na podstawie typu aktywności, czasu trwania i intensywności
Użyj następujących wartości spalania kalorii na minutę przy normalnej intensywności (1.0):
- Bieganie: 10 kalorii na minutę
- Pływanie: 8 kalorii na minutę
- Jazda na rowerze: 7 kalorii na minutę
- Każda inna aktywność: 5 kalorii na minutę
Końcową liczbę kalorii oblicz według wzoru: podstawowa liczba kalorii × czas trwania × intensywność
Spróbuj swoich sił
package main
import "fmt"
// calculateCalories określa, ile kalorii spala się podczas aktywności
// Parametry:
// - activity: rodzaj ćwiczenia ("running", "swimming", "cycling" lub dowolna inna aktywność)
// - duration: czas trwania aktywności (w minutach)
// - intensity: mnożnik określający intensywność treningu (1.0 oznacza normalną intensywność)
// Zwraca:
// - całkowitą liczbę spalonych kalorii
func calculateCalories(activity string, duration int, intensity float64) float64 {
// TODO: Zaimplementuj tę funkcję, aby obliczała liczbę spalonych kalorii na podstawie:
// 1. Określ podstawową liczbę kalorii spalanych na minutę w zależności od rodzaju aktywności:
// - "running" spala 10 kalorii na minutę przy intensywności 1.0
// - "swimming" spala 8 kalorii na minutę przy intensywności 1.0
// - "cycling" spala 7 kalorii na minutę przy intensywności 1.0
// - Każda inna aktywność spala 5 kalorii na minutę przy intensywności 1.0
// 2. Oblicz całkowitą liczbę spalonych kalorii: podstawowa liczba kalorii × czas trwania × intensywność
// 3. Zwróć obliczoną liczbę kalorii
return 0 // Zastąp własną implementacją
}
func main() {
// Przetestuj funkcję dla różnych aktywności
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))
}
Wszystkie lekcje w sekcji Podstawy
4Operatory porównania i logiczne
Operatory porównania – część 1Operatory porównania – część 2Logiczny operator ANDLogiczny operator ORLogiczny operator NOTPodstawy kolejności wykonywania operatorówPodsumowanie – porównywanie7Sterowanie przepływem: pętle
Jak działa pętla `for`Pętla `for` — podstawyPętla `for` — tylko warunekSłowo kluczowe `break`Słowo kluczowe `continue`Pętle zagnieżdżonePodsumowanie — powtarzanie działań2Zmienne i podstawowe typy danych
Czym jest zmiennaWnioskowanie o typie za pomocą `:=`Liczby całkowite (int)Liczby zmiennoprzecinkoweWartości logiczneCiągi znakówWartości zeroweStałeKonwencje nazewnictwaPodsumowanie – zmienne i typy5Podstawowe wejście/wyjście
Formatowane wyjścieSpecyfikatory formatuWyświetlanie typówPobieranie podstawowych danych od użytkownikaPodsumowanie — wejście i wyjście8Funkcje
Zrozumienie funkcjiDeklarowanie funkcjiWywoływanie funkcjiParametry funkcjiZwracanie jednej wartościZwracanie wielu wartościNazwane wartości zwracanePodstawy zakresu funkcjiPodsumowanie — tworzenie wielokrotnego użytku kodu11Typy złożone: wycinki
Wprowadzenie do wycinkówDeklarowanie literałów wycinkówTworzenie wycinków za pomocą `make`Długość a pojemność wycinkaDostęp do elementów wycinkaDodawanie elementówWycinanie z istniejących wycinków i tablicIterowanie po wycinkachKopiowanie wycinkówPodsumowanie — listy dynamiczne3Podstawowe operatory
Operatory arytmetyczneOperator dzieleniaOperator moduloOperator przypisaniaOperatory przypisania z działaniemZwiększanie i zmniejszaniePowtórka – obliczenia6Sterowanie przepływem: instrukcje warunkowe
Instrukcja `if`Słowo kluczowe `else`Słowo kluczowe `else if`Przesłanianie zmiennych w `if`Inicjalizacja zmiennychInstrukcja `switch``switch` z wyrażeniami`switch` bez wyrażeniaSłowo kluczowe `fallthrough`Podsumowanie — podejmowanie decyzjiPoćwicz samodzielnie: Kompilator Go online