zoukankan      html  css  js  c++  java
  • defer语句

    defer语句

    1. 说明

      defer的词义:“延迟”,“推迟”

      在go语言中,使用defer关键词来延迟一个函数或方法的执行

    2. defer函数或方法:一个函数或方法被延迟执行了,需要等到所有函数或方法中的所有代码执行完后才会执行defer修饰的函数或方法。

    3. defer的用法

      1. 对象.close() 如数据库连接的关闭,文件的删除等

      2. 关于异常的处理,使用panic()和recover()

        panic函数用于引发恐慌,导致程序中断执行

        recover函数用于恢复程序的执行,recover函数语法上要求必须在defer中执行

      3. 如果多个defer函数:先延迟后执行,后延迟先执行

      4. defer函数传递参数的时候:defer函数调用时,就已经传递数据了参数数据了,只是暂时不执行函数中的代码而已。也就是defer函数实际执行时使用的参数是,代码执行到defer行时传入的参数值

    4. 堆栈的延迟

      当一个函数有多个延迟调用时,他们被添加到一个堆栈中,并在后进先出的顺序中执行。

    5. defer注意点

      1. 当外围函数中的语句正常执行完毕时,只有其中所有的延迟函数执行完毕,外围函数才会真正的结束执行。
      2. 当执行外围函数中的return语句时,只有其中所有的延迟函数都执行完毕后,外围函数才会真正返回
      3. 当外围函数中的代码引发运行恐慌时,只有其中所有的延迟函数执行完毕后,该运行时才会真正扩散至调用函数
  • 相关阅读:
    解决GitHub下载速度缓慢的问题
    什么是“个人商业模式”?就是一个人出售自己时间的方式
    phpstudy如何安装ssl证书
    心不动——王阳明最可怕之处
    人间立命王阳明
    计算机视觉数据集
    ECG心电图数据2
    ECG心电图数据1
    梯度下降VS随机梯度下降
    SGD
  • 原文地址:https://www.cnblogs.com/henryno12/p/12590410.html
Copyright © 2011-2022 走看看