0PricingLogin
Go Academy · Lesson

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 error

All lessons in this course

  1. Function Basics and Signatures
  2. Multiple Return Values
  3. Variadic Functions
  4. defer, Anonymous Functions & Closures
← Back to Go Academy