你必须要知道的golang那些坑

分享出来几个go面试题,都非常简单,如果您有一些开发时候使用到的小技巧欢迎评论。

第一题 deferpanic 执行先后顺序那些事:

package main

import (
    "fmt"
)

func main() {
    defer_call()
}

func defer_call() {
    defer func() { fmt.Println("打印前") }()
    defer func() { fmt.Println("打印中") }()
    defer func() { fmt.Println("打印后") }()

    panic("触发异常")
}

执行后的效果:

file

首先, 程序执行defer_call函数,会执行执行panic爆异常,然后依次执行defer语句, defer 是先进后出的.

猜你喜欢

转载自blog.csdn.net/cpongo6/article/details/89249285