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. 当外围函数中的代码引发运行恐慌时,只有其中所有的延迟函数执行完毕后,该运行时才会真正扩散至调用函数
  • 相关阅读:
    Python汉字转换成拼音
    python之Tkinter控件学习
    python 函数式编程:高阶函数,map/reduce
    python的高级特性:切片,迭代,列表生成式,生成器,迭代器
    python tkinter Listbox用法
    python函数定义语法总结
    Cmder 快捷键
    录音水波动画
    图片截取部分显示
    移动web在ios和android下点击元素出现阴影问题
  • 原文地址:https://www.cnblogs.com/henryno12/p/12590410.html
Copyright © 2011-2022 走看看