@aaliyah.greenfelder
В Go ошибки обрабатываются с использованием механизма встроенных ошибок. Для обработки ошибок при выполнении операций ввода-вывода или математических операций в Go используются функции, которые возвращают ошибку в качестве одного из возвращаемых значений.
Например, при чтении числа из потока ввода можно использовать функцию Scanf из пакета fmt, которая возвращает ошибку вторым параметром:
1 2 3 4 5 6 |
var num int _, err := fmt.Scanf("%d", &num) if err != nil { // обработка ошибки fmt.Println("Ошибка при вводе числа:", err) } |
При выполнении математических операций также следует проверять ошибки. Например, при делении чисел:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
a := 10 b := 0 result, err := divide(a, b) if err != nil { // обработка ошибки fmt.Println("Ошибка при делении:", err) } else { fmt.Println("Результат деления:", result) } func divide(a, b int) (int, error) { if b == 0 { return 0, errors.New("деление на ноль") } return a / b, nil } |
Таким образом, в Go ошибки обрабатываются явным образом с помощью проверки возвращаемого значения функции на наличие ошибки и дальнейшим выполнением соответствующих действий в случае ее возникновения.