October 2015
Beginner to intermediate
400 pages
14h 44m
English
error Interface
Since the beginning of this book, we’ve been using and creating values
of the mysterious predeclared error type without explaining what
it really is.
In fact, it’s just an interface type with a single method that returns
an error message:
type error interface {
Error() string
}
The simplest way to create an error is by calling
errors.New, which returns a new error for a given error
message.
The entire errors package is only four lines long:
package errors
func New(text string) error { return &errorString{text} }
type errorString struct { text string }
func (e *errorString) Error() string { return e.text }
The underlying type of errorString is a struct, not a string, to protect its ...