Sobes.tech
Junior — Middle

Τι αντιπροσωπεύει το interface Error στο πλαίσιο της διαχείρισης σφαλμάτων;

sobes.tech AI

Απάντηση από AI

Στη Go, η διεπαφή Error ορίζει έναν τύπο για τη διαχείριση σφαλμάτων και περιέχει μια μοναδική μέθοδο:

type error interface {
    Error() string
}

Αυτή η μέθοδος επιστρέφει μια περιγραφή του σφάλματος με μορφή συμβολοσειράς. Οποιοσδήποτε τύπος που υλοποιεί αυτήν τη μέθοδο θεωρείται σφάλμα και μπορεί να χρησιμοποιηθεί με δομές διαχείρισης σφαλμάτων, όπως το if err != nil.

Αυτή η προσέγγιση επιτρέπει τη δημιουργία προσαρμοσμένων τύπων σφαλμάτων με πρόσθετες πληροφορίες, διατηρώντας τη συμβατότητα με τη γενική διεπαφή. Για παράδειγμα:

type MyError struct {
    Msg string
}

func (e MyError) Error() string {
    return e.Msg
}
}

func doSomething() error {
    return MyError{Msg: "κάτι πήγε στραβά"}
}

Έτσι, η διεπαφή Error είναι ένας τυπικός τρόπος μετάδοσης και διαχείρισης σφαλμάτων στη Go.