Multiple Return Values
Returning tuples and the error pattern
Why Multiple Returns?
Go functions can return multiple values, eliminating the need for out-parameters or exceptions. The most common pattern is returning a result and an error:
func divide(a, b float64) (float64, error) {
if b == 0 {
return 0, errors.New("division by zero")
}
return a / b, nil
}Handling Multiple Returns
Callers receive all return values as a tuple. Use _ to discard values you don't need:
result, err := divide(10, 3)
if err != nil {
log.Fatal(err)
}
fmt.Println(result)
value, _ := divide(8, 2) // discard errorAll lessons in this course
- Function Basics and Signatures
- Multiple Return Values
- Variadic Functions
- defer, Anonymous Functions & Closures