AzLearn

تمرين إعادة البناء

Simple Calculator

أعد كتابة برنامج Go ينفذ عمليات حسابية أساسية.

go ~10 دقيقة مبتدئ
أعد بناء الكود Rebuild

هذا هو الكود. اكتبه بنفسك.

الكود المرجعي
package main

import "fmt"

func calculate(left float64, operator string, right float64) (float64, error) {
	switch operator {
	case "+":
		return left + right, nil
	case "-":
		return left - right, nil
	case "*":
		return left * right, nil
	case "/":
		if right == 0 {
			return 0, fmt.Errorf("cannot divide by zero")
		}
		return left / right, nil
	default:
		return 0, fmt.Errorf("unknown operator %q", operator)
	}
}

func main() {
	examples := []struct {
		left     float64
		operator string
		right    float64
	}{
		{12, "+", 8},
		{12, "-", 8},
		{12, "*", 8},
		{12, "/", 8},
	}

	for _, example := range examples {
		result, err := calculate(example.left, example.operator, example.right)
		if err != nil {
			fmt.Println("error:", err)
			continue
		}
		fmt.Printf("%.2f %s %.2f = %.2f\n", example.left, example.operator, example.right, result)
	}
}
اكتب هنا