error in Go
Go programs express error state with error values. The error type is a built-in interface similar to fmt.Stringer: ``` type error interface { Error() string } ``` Functions often return an error value, and calling code should handle errors by testing whether the error equals nil. ``` i, err := strconv.Atoi("42") if err != nil { fmt.Printf("couldn't convert number: %v\n", err) return } fmt.Println("Converted integer:", i) ``` A nil error denotes success; a non-nil error denotes failure.