关于函数返回值的基本提问


package main

import "fmt"

func main(){
    A(0,0)
}

func A(x,y int){
    z := x+y
    fmt.Println(z)
    if z != 0{
        return
    }
}

请问下,如果 ifs 条件 z 中出现 panic 想 return 返回,但是函数并没有定义接受返回值 err。则这个 return 返回了些什么东西。函数是否还能接收到返回的 panic

最佳答案

这里的 return 是中断,没有返回;可以在 main 接收你的 panic

2年前 评论
AB (作者) 2年前
Scrooge (楼主) 2年前
人艰不拆 2年前
讨论数量: 5

这里的 return 是中断,没有返回;可以在 main 接收你的 panic

2年前 评论
AB (作者) 2年前
Scrooge (楼主) 2年前
人艰不拆 2年前

panic 不能 return ,可以

defer func() {
    if err := recover(); err != nil {
        log.Error(err)
    }
}()
2年前 评论