面试题答案
一键面试- 输出结果:
3 2 1
- 原因解释:
- 在Go语言中,
defer
语句会将其后面跟随的函数推迟到包含该defer
语句的函数结束时执行。 defer
语句具有后进先出(LIFO,Last In First Out)的特性,类似于栈的操作。- 首先执行
fmt.Println(3)
,输出3
。 - 然后按照
defer
语句出现的顺序,最后一个defer fmt.Println(2)
先执行,输出2
。 - 接着执行第一个
defer fmt.Println(1)
,输出1
。
- 在Go语言中,