2018年9月2日
摘要: 在golang当中,defer代码块会在函数调用链表中增加一个函数调用。这个函数调用不是普通的函数调用,而是会在函数正常返回,也就是return之后添加一个函数调用。因此,defer通常用来释放函数内部变量。 为了更好的学习defer的行为,我们首先来看下面一段代码: 这段代码可以运行,但存在'安全 阅读全文
posted @ 2018-09-02 18:28 ZhanLi 阅读(1015) 评论(0) 推荐(0)
摘要: defer可以读取有名返回值 func c() (i int) { defer func() { i++ }() return 1 } 输出结果是2. 在开头的时候,我们知道defer是在return调用之后才执行的。 这里需要明确的是defer代码块的作用域仍然在函数之内,结合上面的函数也就是说, 阅读全文
posted @ 2018-09-02 18:12 ZhanLi 阅读(3463) 评论(0) 推荐(1)