💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
## return,defer ,panic执行顺序 1. return最先执行 2. 然后是panic执行,当发生了panic,那么会立刻调用defer函数,来寻找有没有处理它的recover()函数,当没有找到,就会继续向上取寻找,如果都没有的话,那么就输出异常. 3. 最后是defer,如果有多个defer那么是按先进后出的方式执行. ~~~ defer func() { fmt.Println("打印前") }() defer func() { fmt.Println("打印中") }() defer func() { fmt.Println("打印后") }() panic("触发异常") ~~~ 结果: ``` 打印后 打印中 打印前 panic: 触发异常 //这里为什么是最后显示呢? panic并不是最后执行,而是他没有找到recover()函数,所以让前面的defer中的println先执行了. ```