Menu
Coddy logo textTech

Resumen: Manejo de problemas

Parte de la sección Fundamentos del Journey de GO de Coddy — lección 109 de 109.

challenge icon

Desafío

Fácil

Practiquemos el manejo de errores en Go con un programa sencillo de conversión de temperatura.

Tu tarea es implementar una función que convierta temperaturas de Celsius a Fahrenheit, con un manejo de errores adecuado.

Completa la función celsiusToFahrenheit que:

  • Convierte una temperatura Celsius a Fahrenheit usando la fórmula: F = C × 9/5 + 32
  • Devuelve un error si la temperatura es inferior al cero absoluto (-273.15°C)

Para el mensaje de error, debes devolver exactamente: "Error: temperature below absolute zero"

La función principal contiene casos de prueba para verificar tu implementación.

Pruébalo tú mismo

package main

import (
	"errors"
	"fmt"
)

// celsiusToFahrenheit convierte Celsius a Fahrenheit
// Devuelve un error si la temperatura es inferior al cero absoluto (-273.15°C)
func celsiusToFahrenheit(celsius float64) (float64, error) {
	// TODO: Implementar la lógica de conversión
	// 1. Verificar si la temperatura es inferior al cero absoluto (-273.15°C)
	// 2. Si es válida, convertir usando la fórmula: F = C × 9/5 + 32
	// 3. Devolver el valor apropiado y el error
	return 0, nil
}

func main() {
	// Probar temperatura válida
	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)
	}

	// Probar otra temperatura válida
	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)
	}

	// Probar temperatura no válida (por debajo del cero absoluto)
	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)
	}
}

Todas las lecciones de Fundamentos