golang defer语句简单解析

栏目: Go · 发布时间: 7年前

内容简介:下面举例说明了defer语句的作用:输出结果:很明显 defer语句的执行顺序是反的。这种语法给我们的资源关闭提供了很好的帮助。

defer

下面举例说明了defer语句的作用:

package main

import "fmt"

func main() {

    i := 10
    defer incr(i)
    defer incr2(i)
    defer incr3(i)

}

func incr(i int){
    j := i -1
    fmt.Println(j)
}

func incr2(i int){
    j := i -2
    fmt.Println(j)
}

func incr3(i int){
    j := i -3
    fmt.Println(j)
}

输出结果:

GOROOT=C:\Go #gosetup
GOPATH=C:\Users\DELL\go #gosetup
C:\Go\bin\go.exe build -o C:\Users\DELL\AppData\Local\Temp\___go_build_cmpl_go.exe C:/Users/DELL/ActiveGo/src/spider/main/cmpl.go #gosetup
"C:\Program Files\JetBrains\GoLand 2018.3.2\bin\runnerw64.exe" C:\Users\DELL\AppData\Local\Temp\___go_build_cmpl_go.exe #gosetup
7
8
9

Process finished with exit code 0

很明显 defer语句的执行顺序是反的。这种语法给我们的资源关闭提供了很好的帮助。

比如流的关闭啊,文件的关闭啊等等。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

模糊数学基础及实用算法

模糊数学基础及实用算法

李鸿吉编 / 科学出版社 / 2005-1 / 55.00元

本书开发了模糊数学常用的计算机程序,并以大量的算例系统地介绍了模糊数学的实用算法。本书可以作为模糊数学的应用程序包,在详细解释源代码的同时,对应用程序开发所用到的Visual Basic 6.0方法做了系统介绍,其目的是为读者做进一步的自主开发提供便利。本书所提供的源程序可以作为读者自主开发的素材。本书配有光盘,分章节提供程序源代码。 本书可以作为大专院校、培训班的教学参考书。对需......一起来看看 《模糊数学基础及实用算法》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码