400-700-1307

【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号

                    威尼斯人游戏-威尼斯人注册-威尼斯人网址