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语句的执行顺序是反的。这种语法给我们的资源关闭提供了很好的帮助。

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


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

查看所有标签

猜你喜欢:

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

Python机器学习基础教程

Python机器学习基础教程

[德]安德里亚斯·穆勒、[美]莎拉·吉多 / 张亮 / 人民邮电出版社 / 2018-1 / 79.00元

本书是机器学习入门书,以Python语言介绍。主要内容包括:机器学习的基本概念及其应用;实践中最常用的机器学习算法以及这些算法的优缺点;在机器学习中待处理数据的呈现方式的重要性,以及应重点关注数据的哪些方面;模型评估和调参的高级方法,重点讲解交叉验证和网格搜索;管道的概念;如何将前面各章的方法应用到文本数据上,还介绍了一些文本特有的处理方法。一起来看看 《Python机器学习基础教程》 这本书的介绍吧!

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

在线压缩/解压 JS 代码

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

Base64 编码/解码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具