package main import ( "errors" "fmt" ) var ( ErrHourlyRate = errors.New("invalid hourly rate") ErrHoursWorked = errors.New("invalid hours worked per week") ) func main() { pay, err := payDay(81, 50) if err != nil { fmt.Println(err) } pay, err = payDay(80, 5) if err != nil { fmt.Println(err) } pay, err = payDay(80, 50) if err != nil { fmt.Println(err) } fmt.Println(pay) } func payDay(hoursWorked, hourlyRate int) (int, error) { if hourlyRate < 10 || hourlyRate > 75 { return 0, ErrHourlyRate } if hoursWorked < 0 || hoursWorked > 80 { return 0, ErrHoursWorked } if hoursWorked > 40 { hoursOver := hoursWorked - 40 overTime := hoursOver * 2 regularPay := 40 * hourlyRate return regularPay + overTime, nil } return hoursWorked * hourlyRate, nil }