package internal import "fmt" var operators []string = []string{"+", "-", "*", "/"} func Run() { var x, y int var operator string fmt.Println("Введите первое число") _, err := fmt.Scan(&x) if err != nil { fmt.Printf("Некорректное число.\n") return } fmt.Println("Введите операцию (+,-,*,/)") fmt.Scan(&operator) if !isExistOperato(operator) { fmt.Printf("Некоректная операция.\n") return } fmt.Println("Введите второе число") _, err = fmt.Scan(&y) if err != nil { fmt.Printf("Некорректное число.\n") return } calculate(x, y, operator) } func isExistOperato(operatop string) bool { for _, op := range operators { if op == operatop { return true } } return false } func calculate(x, y int, oprator string) { switch oprator { case "+": fmt.Printf("%d + %d = %d\n", x, y, x+y) case "-": fmt.Printf("%d - %d = %d\n", x, y, x-y) case "*": fmt.Printf("%d * %d = %d\n", x, y, x*y) case "/": if y == 0 { fmt.Println("Ошибка: деление на 0 невозможно") return } fmt.Printf("%d + %d = %f\n", x, y, float64(x)/float64(y)) } }