栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Golang延迟行为

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Golang延迟行为

这似乎是连贯的(另请参阅“ 延迟,恐慌和恢复 ”)

周围函数返回 后, 将按照 后进 先出的顺序执行延迟的函数调用。

该函数打印“ 3210”:

func b() {    for i := 0; i < 4; i++ {        defer fmt.Print(i)    }}

defer
评估时的最后一次调用意味着
i=3
,最后一个意味着最后一个
i=2
,依此类推。

Golang规格:

每次

defer
执行“ ”语句时,都会照常评估调用的函数值和参数并重新保存,但实际的函数体不会执行。


defers
将被称为FUNC结束时

是的,但是在循环运行时会先评估它们的参数。

当与闭包(函数文字)一起使用时,“
如何golang的“延迟”捕获闭包的参数?”中有一个比较棘手的defer案例,如“为什么在Golang中闭包主体后面添加“”中所详细说明”。

()



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/370203.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号