在go语言中,为什么使用defer?

defer的设计确实难用,个人觉得是go中最难用的设计,而且还“很丑陋”,个人觉得defer的设计有点像py的try,对于panic的处理是recover,对于释放***是close,对应到py是try except和try finally,但后者py都很少用了,几乎全全去使用with了,说到底还是try的设计意图不明显。
还有一个问题是go像减少层级的缩进***用了defer这个语法,但这会导致作用范围变得模糊,如果有缩进作用范围会更明显。
defer的设计确实难用,个人觉得是go中最难用的设计,而且还“很丑陋”,个人觉得defer的设计有点像py的try,对于panic的处理是recover,对于释放***是close,对应到py是try except和try finally,但后者py都很少用了,几乎全全去使用with了,说到底还是try的设计意图不明显。
还有一个问题是go像减少层级的缩进***用了defer这个语法,但这会导致作用范围变得模糊,如果有缩进作用范围会更明显。
谢邀,人在松山湖HDC开发者大会现场,已全程观看华为发布最新...
大家好! 我们是 CTypst 小组,致力于提升 Typst...
迭代法+取模计算fibs(100000000)%100000...
一、门口的植物不要太茂密,最好没有,或者定期除草。 二、大...
康熙在位的时候,感染了疟疾,当时紫禁城里有全国最好的中医,但...
在WAD上,受到CVPR直邀的小鹏汽车世界基座模型负责人 刘...
我们可以看一下对照组的macOS,做到了在M1-M2时期号召...
这张照片拍摄于2024年,中国女子100米栏运动员吴艳妮和夏...
本人后端,先说结论,后端累 坐标北京,游戏后端开发,也不能说...
先叠几个定语: 你要是写Reactive Web,用Web ...