Menu
Coddy logo textTech

Riepilogo - Gestire i problemi

Fa parte della sezione Fondamenti del percorso GO di Coddy. Lezione 109 di 109.

challenge icon

Sfida

Facile

Facciamo pratica con la gestione degli errori in Go con un semplice programma di conversione della temperatura.

Il tuo compito è implementare una funzione che converta le temperature da Celsius a Fahrenheit, con una corretta gestione degli errori.

Completa la funzione celsiusToFahrenheit che:

  • Converte una temperatura in Celsius in Fahrenheit usando la formula: F = C × 9/5 + 32
  • Restituisce un errore se la temperatura è inferiore allo zero assoluto (-273.15°C)

Per il messaggio di errore, devi restituire esattamente: "Error: temperature below absolute zero"

La funzione main contiene casi di test per verificare la tua implementazione.

Provalo tu

package main

import (
	"errors"
	"fmt"
)

// celsiusToFahrenheit converte da Celsius a Fahrenheit
// Restituisce un errore se la temperatura è inferiore allo zero assoluto (-273.15°C)
func celsiusToFahrenheit(celsius float64) (float64, error) {
	// TODO: Implementare la logica di conversione
	// 1. Verificare se la temperatura è inferiore allo zero assoluto (-273.15°C)
	// 2. Se è valida, convertirla usando la formula: F = C × 9/5 + 32
	// 3. Restituire il valore e l'errore appropriati
	return 0, nil
}

func main() {
	// Verificare una temperatura valida
	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)
	}

	// Verificare un'altra temperatura valida
	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)
	}

	// Verificare una temperatura non valida (inferiore allo zero assoluto)
	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)
	}
}

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Go online