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


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

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

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

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

panic 不能 return ,可以

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

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!