面试题库

【GO+区块链面试题】defer执行顺序

2019-01-26 17:06
1. 写出下面代码输出内容。
 
1.package main
2.import (
3."fmt"
4.)
5.func main() {
6.defer_call()
7.}
8.func defer_call() {
9.defer func() { fmt.Println("打印前") }()
10.defer func() { fmt.Println("打印中") }()
11.defer func() { fmt.Println("打印后") }()
12.panic("触发异常")
13.}
考点:defer执行顺序
解答:
defer 是后进先出。
panic 需要等defer 结束后才会向上传递。 出现panic恐慌时候,会先按照defer的后入先出的顺序执行,最后才会执行panic。
1.打印后
2.打印中
3.打印前
4.panic: 触发异常

开班信息

当前校区

北京校区
  • 北京校区
  • 上海校区
  • 广州校区
  • 沈阳校区
  • 杭州校区
  • 南京校区
  • 郑州校区
  • 成都校区
  • 深圳校区
  • 西安校区
  • 苏州校区

Copyright © 2007-2019 IT兄弟连教育 版权所有 京ICP备11018177号  京公网安备 11010802026987号