// Created on savesnippets.com ยท https://savesnippets.com/ibHSLTkvrlpb5I package main import ( "errors" "fmt" ) // Classic โ€” two return values, no names func divide(a, b float64) (float64, error) { if b == 0 { return 0, errors.New("divide by zero") } return a / b, nil } // Named returns โ€” values are zero-initialized, can be modified, naked return ok func divmod(a, b int) (quot, rem int, err error) { if b == 0 { err = errors.New("divide by zero") return // naked return โ€” uses named values } quot = a / b rem = a % b return } func main() { if v, err := divide(10, 3); err == nil { fmt.Printf("10/3 = %.2f\n", v) } q, r, _ := divmod(17, 5) fmt.Printf("17 = %d*5 + %d\n", q, r) }