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