首页 > 其他 > 详细

defer 被调用时机

时间:2019-09-16 09:36:11      阅读:78      评论:0      收藏:0      [点我收藏+]

defer 被调用时机

  • 代码测试
package main

import(
    "fmt"
)

func main(){
    deferOpp()
    deferOppP(8)
}
//1、没有参数,没有看到明显效果
func deferOpp(){
    defer fmt.Println("最后执行")
    fmt.Println("开始执行")
    return
}

//2、有参数,可以明显的看到效果
func deferOppP(a int){
    defer func(){
        a++
        fmt.Println(a)
    }()
    fmt.Println(a)
    return
}

  • 运行效果
这里开始执行
这里应该最后执行
8
9
  • 总结
    • defer是在return之后执行的

defer 被调用时机

原文:https://www.cnblogs.com/MyUniverse/p/11525586.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!