设为首页
收藏本站
开启辅助访问
全部
问与答
创意
技术
酷工作
生活
交易
资源
节点
飞墙
Follow
明白贴
人人影库
报酬
登录
注册
飞社-令人惊奇的创意工作者社区-
›
首页
›
Go 编程语言
›
前端仔有点学不明白 golang 的 defer
FSHEX=FIND+SHARE+EXPRESS
飞社-令人惊奇的创意工作者社区- 是一个关于发现分享表达的地方
现在登录
没有账号?
立即注册
推荐主题
›
31 岁了,是在银行继续苟着,还是富贵险中
›
媳妇被单方面解除劳动合同,这种情况下仲裁
›
一个人 4 个月开发了 29 款在线工具,大家
›
大家一直说安卓不出直屏、小屏,现在 OPPO
›
拼音缩写字段真是给我整无奈了
今日热议主题
万一失业,你们的积蓄可以撑多久?
湖北宽带难友,投诉运营商交流群
有没有什么虚拟卡可以薅的服务
有没有什么工具能根据我的兴趣,自动刷知乎
99 新 苹果秒空板 黑色 第三代
请教下想在个人网站面向海外用户出售数字商
Next FileFlow 内外网文件传输安全审计系统
基层足球教练员,工作上有些迷茫,欢迎大家
为啥一个私企还有吃大锅饭的呢 [吐槽]
这次的面试让我怀疑——我是不是被瞧不起了
显示全部
|
最新评论
22 条回复
·
2416 次点击
11#
NessajCN
小成
2025-4-1 17:51:26
https://go.dev/blog/defer-panic-and-recover "3. Deferred functions may read and assign to the returning function's named return values." 纯粹就是 named return 特性,死记就好了
12#
sardina
小成
2025-4-1 17:56:02
谁要在开发中这么写代码 小心被打
13#
zhengfan2016
楼主
小成
2025-4-1 18:00:55
@sardina 哈哈,我感觉你可以整理一个 awesome golang 容易挨打的代码片段,让新手村的 xdm 学习 https://i.imgur.com/agAJ0Rd.png
14#
vincentWdp
初学
2025-4-1 18:01:24
``` func foo(n int) (t int) { t = n ``` 换成 ``` func foo(n int) int { t := n ```
15#
ChrisFreeMan
小成
2025-4-1 18:01:45
@lesismal 看到你也不会我就放心了
16#
zhengfan2016
楼主
小成
2025-4-1 18:06:58
@NessajCN 原来如此
17#
sardina
小成
2025-4-1 18:07:30
第一个例子 return 是先把返回值存到临时变量里,然后 defer 再修改也改不到临时变量 第一个例子因为返回值有命名,所以 return 是把返回值存到这个命名里里,然后 defer 就可以修改了 总的来说就是 return 先设置返回值 然后再执行 defer ,然后函数返回 https://www.cnblogs.com/saryli/p/11371912.html 可以看这个
18#
peteretep
初学
2025-4-1 18:09:16
后端仔都不这么写的。不要起步就走犄角旮旯了。没有实际意义的。 这个和 c++考试 i++++ 、 ++i++ 的题目有什么区别吗? defer 只用来释放资源,其他使用正常的程序算法解决。
19#
maxwellz
小成
2025-4-1 18:14:50
@zhengfan2016 #7 貌似和 defer 的特性有关系了,这块太久没看了,忘了
20#
Liv1Dad
初学
2025-4-1 18:24:40
很简单啊,defer 放到 一个栈里面。 defer func() { t+=3}() 这个匿名函数 放入到栈中, 等 function 结束时运行。 第一个 函数返回 t, 函数结束后继续执行了 t+=3 。 第二个 函数返回 t 的值,数据结束后继续执行了 t+=3, 此时的 t 和函数返回结果 没有关系。
下一页 »
1
2
3
/ 3 页
下一页
返回顶部