defer本身是个延时队列,采用栈的调用方式,后进先出,但是defer调用的函数里面参数如果是一个函数,就会先执行这个函数。return和defer的顺序,先给return返回的变量赋值,在调用defer,最后return返回。