#http://xiaorui.cc
package main
import (
"errors"
"fmt"
)
type equalError struct {
Num int
}
func (e equalError) Error() string {
return
fmt.Sprintf(
"你现在是数字是 %d ,还是超了55"
, e.Num)
}
func Equal(n int) (int, error) {
if
n > 55 {
return
-1, errors.New(
"超过了55"
)
}
return
n, nil
}
func DiyEqual(n int) (int, error) {
if
n > 55 {
return
-1, equalError{Num: n}
}
return
n, nil
}
func main() {
if
result, err := Equal(100); err != nil {
fmt.Println(
"错误:"
, err)
}
else
{
fmt.Println(
"结果:"
, result)
}
if
result, err := DiyEqual(100); err != nil {
fmt.Println(
"错误:"
, err)
}
else
{
fmt.Println(
"结果:"
, result)
}
}