Menu
Coddy logo textTech

Powtórzenie – obsługa problemów

Część sekcji Podstawy ścieżki GO w Coddy. Lekcja 109 z 109.

challenge icon

Wyzwanie

Łatwy

Poćwiczmy obsługę błędów w Go na prostym programie do konwersji temperatury.

Twoim zadaniem jest zaimplementowanie funkcji, która konwertuje temperatury ze stopni Celsjusza na stopnie Fahrenheita, z prawidłową obsługą błędów.

Uzupełnij funkcję celsiusToFahrenheit, która:

  • Konwertuje temperaturę w stopniach Celsjusza na stopnie Fahrenheita za pomocą wzoru: F = C × 9/5 + 32
  • Zwraca błąd, jeśli temperatura jest niższa od zera absolutnego (-273.15°C)

Komunikat błędu musi być dokładnie taki: "Error: temperature below absolute zero"

Funkcja main zawiera przypadki testowe, które pozwalają zweryfikować Twoją implementację.

Spróbuj swoich sił

package main

import (
	"errors"
	"fmt"
)

// celsiusToFahrenheit przelicza stopnie Celsjusza na stopnie Fahrenheita
// Zwraca błąd, jeśli temperatura jest niższa od zera bezwzględnego (-273.15°C)
func celsiusToFahrenheit(celsius float64) (float64, error) {
	// TODO: Zaimplementuj logikę przeliczania
	// 1. Sprawdź, czy temperatura jest niższa od zera bezwzględnego (-273.15°C)
	// 2. Jeśli temperatura jest prawidłowa, przelicz ją według wzoru: F = C × 9/5 + 32
	// 3. Zwróć odpowiednią wartość i błąd
	return 0, nil
}

func main() {
	// Przetestuj prawidłową temperaturę
	fmt.Println("Converting 25°C to Fahrenheit:")
	fahrenheit, err := celsiusToFahrenheit(25)
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Printf("25°C = %.2f°F\n", fahrenheit)
	}

	// Przetestuj inną prawidłową temperaturę
	fmt.Println("\nConverting 0°C to Fahrenheit:")
	fahrenheit, err = celsiusToFahrenheit(0)
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Printf("0°C = %.2f°F\n", fahrenheit)
	}

	// Przetestuj nieprawidłową temperaturę (niższą od zera bezwzględnego)
	fmt.Println("\nConverting -300°C to Fahrenheit:")
	fahrenheit, err = celsiusToFahrenheit(-300)
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Printf("-300°C = %.2f°F\n", fahrenheit)
	}
}

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Go online