Menu
Coddy logo textTech

Tworzenie prostych błędów

Część sekcji Podstawy ścieżki GO w Coddy. Lekcja 106 z 109.

W Go możesz tworzyć własne błędy za pomocą funkcji errors.New() z biblioteki standardowej.

Zaimportuj pakiet errors:

import (
    "errors"
    "fmt"
)

Utwórz prosty błąd z komunikatem:

func divide(a, b int) (int, error) {
    if b == 0 {
        return 0, errors.New("cannot divide by zero")
    }
    return a / b, nil
}

func main() {
    result, err := divide(10, 0)
    if err != nil {
        fmt.Println("Error:", err)
    } else {
        fmt.Println("Result:", result)
    }
}

Wynik będzie następujący:

Error: cannot divide by zero
challenge icon

Wyzwanie

Początkujący

W tym wyzwaniu poćwiczysz tworzenie prostego błędu w Go za pomocą funkcji errors.New().

Masz funkcję, która sprawdza, czy nazwa użytkownika jest prawidłowa. Nazwa użytkownika jest uznawana za prawidłową, jeśli ma co najmniej 5 znaków. Twoim zadaniem jest uzupełnić funkcję, zwracając odpowiedni błąd, gdy nazwa użytkownika jest zbyt krótka.

Spróbuj swoich sił

package main

import (
	"errors"
	"fmt"
)

func main() {
	// Przetestuj z poprawną nazwą użytkownika
	result, err := validateUsername("gopher123")
	if err != nil {
		fmt.Println("Error:", err)
	} else {
		fmt.Println(result)
	}

	// Przetestuj z niepoprawną nazwą użytkownika
	result, err = validateUsername("go")
	if err != nil {
		fmt.Println("Error:", err)
	} else {
		fmt.Println(result)
	}
}

func validateUsername(username string) (string, error) {
	if len(username) < 5 {
		// TODO: Zwróć błąd z komunikatem "username must be at least 5 characters long"
		// Wskazówka: Użyj errors.New(), aby utworzyć nowy błąd
		return "", nil // Zastąp tę linię
	}
	return "Username is valid", nil
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Go online