1. 首页
  2. 编程语言
  3. 其他
  4. Golang 的defer执行规则说明

Golang 的defer执行规则说明

上传者: 2022-08-01 22:07:24上传 PDF文件 119.04 KB 热度 13次

defer是golang的一个特色功能,被称为“延迟调用函数”。当外部函数返回后执行defer。类似于其他语言的 try…中的finally,当然差别还是明显的。在使用defer之前我们应该多了解defer的特性,这样才能避免使用上的误区。从上面示例可以发现defer执行是在return之后,且按照defer声明的先进后出顺序执行。通常认为defer就像真的被挪到了return之后。defer函数体内的变量是在return后执行因此不受影响。defer也有自己的矫情,需要注意的。详解:由于返回值提前声明了,所以在return的时候决定的返回值还是0,但是后面两个defer执行后进行了两次++,将i的值变为2,待defer执行完后,函数将i值进行了返回。

用户评论