你必须要知道的golang那些坑
分享出来几个go面试题,都非常简单,如果您有一些开发时候使用到的小技巧欢迎评论。
第一题 defer
和panic
执行先后顺序那些事:
package main
import (
"fmt"
)
func main() {
defer_call()
}
func defer_call() {
defer func() { fmt.Println("打印前") }()
defer func() { fmt.Println("打印中") }()
defer func() { fmt.Println("打印后") }()
panic("触发异常")
}
执行后的效果:
首先, 程序执行defer_call
函数,会执行执行panic
爆异常,然后依次执行defer
语句, defer
是先进后出的.