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.