为什么都认为无GC语言一定会比有GC语言要快?
使用 Go 语言开发游戏服务端的是如何忍受无法热更新的?
为什么负荷那么大的腰部力量训练的人不会受伤,长期无载荷久坐的人会出现腰肌劳损?
MacOS真的比Windows流畅吗?
《西西里美丽传说》女主角,在当时打扮这么高调,不觉得带给自己很多不便吗?如何理解她的心态?
如何说服技术老大用redis?

既然 golang 到处都是 if err != nil ,为啥不能从语法层面把这句话当做默认值?

发布日期:2025-06-25 00:00:16 浏览次数:0

不需要从语法层面当作默认值, 你可以自己实现一个包装层来自动插入这种代码. 不过, 这种方法对目前的Go语言行不通, 我们需要增加了三种新特性的Extended Go: 方法支持泛型;可以给非本地类型增加方法;多返回值是第一类值, 可以被传递.第二种类型有些tricky, 涉及到接口和包冲突等问题. 我们先不考虑这些. 下面我们给出自动插入错误处理的代码: func (rslt T, err error) Bind[T any, U any](f func(T) (U, error)) (U, error) { …。

既然 golang 到处都是 if err != nil ,为啥不能从语法层面把这句话当做默认值?