1、EdgeX中的代码片段
2、defer是什么
在golang当中,defer代码块会在函数调用链表中增加一个函数调用。这个函数调用不是普通的函数调用,而是会在函数正常返回,也就是return之后添加一个函数调用。因此,defer通常用来释放函数内部变量。感觉和面向对象界面编程中的OnDestoryed之类的事件相似。
3、示例
package main import "fmt" func testdefer() int { i := 0 defer fmt.Printf("defer-%d ", i) i++ fmt.Printf("before return ") return i } func main() { fmt.Println(testdefer()) }
4、运行结果
before return defer-0 1