Sobes.tech
Junior — Middle

Co znamená rozhraní Error v kontextu zpracování chyb?

sobes.tech AI

Odpověď od AI

V jazyce Go definuje rozhraní Error typ pro zpracování chyb a obsahuje jedinou metodu:

type error interface {
    Error() string
}

Tato metoda vrací popis chyby ve formě řetězce. Jakýkoli typ, který tuto metodu implementuje, je považován za chybu a může být použit s konstrukcemi pro zpracování chyb, například s if err != nil.

Tento přístup umožňuje vytvářet vlastní typy chyb s doplňujícími informacemi, přičemž zachovává kompatibilitu s obecným rozhraním. Například:

type MyError struct {
    Msg string
}

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

func doSomething() error {
    return MyError{Msg: "něco se pokazilo"}
}

Tímto způsobem je rozhraní Error standardní způsob přenosu a zpracování chyb v jazyce Go.