• 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. 当外围函数中的代码引发运行恐慌时,只有其中所有的延迟函数执行完毕后,该运行时才会真正扩散至调用函数
  • 相关阅读:
    呵呵

    HDU 1878 欧拉回路
    HDU 3293 sort
    HDU 2714 ISBN
    神秀作偈
    大学之道
    写给自己过去疯狂的一年(2)(写在一个特别的时候)
    这几天我的生活就是这样的
    学习和研究计划
  • 原文地址:https://www.cnblogs.com/henryno12/p/12590410.html
Copyright © 2020-2023  润新知