package main import ( "fmt" "math" ) //对应错误类型输出 type ErrNegativeSqrt float64 //定义错误类型输出 func (e ErrNegativeSqrt) Error() string { return fmt.Sprintf("cannot Sqrt negative number:%f", float64(e)) } //计算平方根的方法 func Sqrt(f float64) (float64, error) { if f > 0 { return math.Sqrt(f), nil } return 0, ErrNegativeSqrt(f) } func main() { g, h := Sqrt(2) if h != nil { fmt.Println(h) } else { fmt.Println(g) } g, h = Sqrt(-2) if h != nil { fmt.Println(h) } else { fmt.Println(g) } }
有疑问加站长微信联系(非本文作者)