Menu
Coddy logo textTech

Zusammenfassung – Probleme behandeln

Teil des Abschnitts Grundlagen der GO-Journey von Coddy — Lektion 109 von 109.

challenge icon

Aufgabe

Einfach

Lassen Sie uns die Fehlerbehandlung in Go mit einem einfachen Temperaturumrechnungsprogramm üben.

Ihre Aufgabe ist es, eine Funktion zu implementieren, die Temperaturen von Celsius in Fahrenheit umrechnet, mit ordnungsgemäßer Fehlerbehandlung.

Vervollständigen Sie die Funktion celsiusToFahrenheit, die:

  • Eine Celsius-Temperatur unter Verwendung der Formel F = C × 9/5 + 32 in Fahrenheit umrechnet
  • Einen Fehler zurückgibt, wenn die Temperatur unter dem absoluten Nullpunkt (-273.15°C) liegt

Für die Fehlermeldung müssen Sie genau Folgendes zurückgeben: "Error: temperature below absolute zero"

Die main-Funktion enthält Testfälle, um Ihre Implementierung zu überprüfen.

Probier es selbst

package main

import (
	"errors"
	"fmt"
)

// celsiusToFahrenheit konvertiert Celsius in Fahrenheit
// Gibt einen Fehler zurück, wenn die Temperatur unter dem absoluten Nullpunkt liegt (-273,15°C)
func celsiusToFahrenheit(celsius float64) (float64, error) {
	// TODO: Implementierung der Konvertierungslogik
	// 1. Prüfen, ob die Temperatur unter dem absoluten Nullpunkt liegt (-273,15°C)
	// 2. Wenn gültig, mit der Formel konvertieren: F = C × 9/5 + 32
	// 3. Entsprechenden Wert und Fehler zurückgeben
	return 0, nil
}

func main() {
	// Teste gültige 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)
	}

	// Teste eine weitere gültige 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)
	}

	// Teste ungültige Temperatur (unter dem absoluten Nullpunkt)
	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)
	}
}

Alle Lektionen in Grundlagen