go错误处理 error ,panic defer recover
go错误处理为 error接口
type error interface {
Error() string
}
常用用法 将错误作为第二个参数返回
例子
func Foo(params int) (n int , err error){
//
}
n,err := Foo(100)
if err != nil {
//错误处理
}else{
//正常执行
}
返回错误实例并打印
go标准错误包 errors 提供 的 New() 方法 创建一个 error 错误实例
func add(a,b int) (c int ,err error){
if a < 0 || b< 0 {
err = errors.New("不能为负数")
return
}
a *= 2
c = a+b
return
}
time.Sleep(1e9) time.Sleep(3e9) 分别上睡眠1s 3s