Go入门笔记-18 defer使用

1、EdgeX中的代码片段

 

 

 

 

 

 

 

 2、defer是什么

在golang当中,defer代码块会在函数调用链表中增加一个函数调用。这个函数调用不是普通的函数调用,而是会在函数正常返回,也就是return之后添加一个函数调用。因此,defer通常用来释放函数内部变量。感觉和面向对象界面编程中的OnDestoryed之类的事件相似。

3、示例

package main

import "fmt"

func testdefer() int {
	i := 0
	defer fmt.Printf("defer-%d\n", i)
	i++
	fmt.Printf("before return\n")
	return i
}
func main() {
	fmt.Println(testdefer())
}

4、运行结果

before return
defer-0
1

  

  

 

posted @ 2021-08-13 16:30  zhaogaojian  阅读(100)  评论(0编辑  收藏  举报