同一函数内多个 defer 语句的执行顺序是?

Go

  1. A.严格按声明顺序依次执行(先进先出,类似队列)
  2. B.所有 defer 在函数返回时被放到各自独立的 goroutine 里并发执行
  3. C.执行顺序由运行时随机决定,同一函数多次调用可能得到不同顺序
  4. D.按声明的逆序执行(后进先出,类似栈)