Go泛型不支持泛型方法,这是一个悲伤的故事 (colobu.com)

【简介】

根据Go 泛型提案的描述,Go不支持泛型方法:No parameterized methods。主要原因Go泛型的处理是在编译的时候实现的,泛型方法在编译的时候,如果没有上下文的分析推断,很难判断泛型方案该如何实例化,甚至判断不了,导致目前(Go 1.18)Go实现中不支持泛型方案。

不过,泛型方法的缺失,多多少少给程序员带来一丝丝的忧伤的情绪,在一些场景之下,使用起来特别不方便。我最近看到了几个因为缺乏泛型方法导致的问题,在本文中总结一下,和大家探讨。

点击查看全文 >>

@技术头条 2022-05-06 23:15分享 / 原作者微博:@colobu / 0个评论
赞过的人: IT技术博客大学习
要不要再学学下面的文章?
面试官提问三个Go接口的概念, 10年gopher竟无言以对 (colobu.com)
自 Go 1.18后, Go的interface的含义有所变化, 三个新的和Go接口有关的概念很多人还不知道: type set(类型集合)、specific type(特定类型)和structural type(结构类型)。
by @技术头条 2022-05-06 23:30 分享 查看详情
Go泛型系列:再简化,省略接口 (colobu.com)
如果你一直关注Go泛型的设计和实现,一定知道Go泛型代码实现是通过类型参数(type parameter)实现的,当运行泛型代码时,类型参数(type parameter)由类型参数(type argument)替代。(很遗憾parameter和argument都被翻译成了中文参数)

类型参数(type parameter)也有类型,也就是描述这个参数类型行为的元数据,被成为约束(constraint)。最通用的约束就是内建的any类型,它代表任意的类型。
by @技术头条 2022-05-06 23:16 分享 查看详情
iOS 开发者证书不受信任的解决方法 (zww.me)
网上搜了一下原因和解决方法,发现都写的啰里吧嗦还不把全部下载链接放出来,这里直接贴,把文中 2个 AppleWWDRCA 证书下载并导入即可。
by @技术头条 2022-05-04 16:36 分享 查看详情
关于编写故事卡的一些经验 (insights.thoughtworks.cn)
我认同故事卡里非常详细的描述可以带来价值,但我也相信“简练的表述 + 充分的沟通”可以更高效、更灵活;我认同故事卡不是契约或合同,但我也相信完整、准确的表述可以显著降低各角色间的沟通成本。
by @Thoughtworks 2022-04-24 11:48 分享 查看详情
一个Go语言实现的数据库 (mp.weixin.qq.com)
rosedb 是一个稳定、高性能、快速、内嵌的 k-v 数据库,支持多种数据结构,包含 String、List、Hash、Set、Sorted Set,接口名称风格和 Redis 类似。

rosedb 数据文件布局基于 LSM Tree 和 WAL,纯 Golang 实现,易于使用、扩展。我们的愿景是打造一个高效的 k-v 存储引擎,你可以给我们提任何建议,也请给我们一个 start ✨ 吧,非常感谢!
by @code小生 2022-03-27 23:42 分享 查看详情
推荐一本免费的Go书籍! (mp.weixin.qq.com)
相信你一定见过一些难以维护的复杂软件,这些软件往往是决定一个初创企业是否能够成功的关键,但没有人愿意去碰它,为了避免出现这样的软件,开发者们开始学习领域驱动设计先关的书籍,阅读有关清洁架构的博客,并观看有关CQRS和事件驱动编程的演讲。
by @code小生 2022-03-13 23:29 分享 查看详情
谷歌 Android 12 Go 正式发布! (mp.weixin.qq.com)
12 月 15 日,谷歌发布了适用于小型或廉价智能手机的 Android 12 Go 版本操作系统。全新登场的 Android 12 Go 版本更流畅、更省电、更安全。
by @code小生 2021-12-19 19:46 分享 查看详情
官宣Vue3.0抛弃支持IE,把精力集中在这个上面 (mp.weixin.qq.com)
自Vue 3的开发开始到2018年底,我们一直被要求提供IE11支持。许多用户询问Vue 3是否将支持IE11,我们最初的计划是发布Vue 3并使其稳定,然后添加稍后会支持IE11。
by @code小生 2021-11-15 14:51 分享 查看详情
Go语言将成为恶意软件开发者的首选 (mp.weixin.qq.com)
自从 2012 年发现了第一个使用 Go 语言编写的恶意软件之后,Go 语言就在恶意软件领域渐渐流行起来了。2019 年 7 月,Palo Alto Networks 发布了一份使用 Go 语言编写的恶意软件分析报告。报告发现,2019 年以前使用 Go 语言编写恶意软件是一件罕见的事情,但到了 2019 年,这种情况每天都会发生,2017 年到 2019 年,基于 Go 语言的恶意软件的样本数量增加 1944%。在这些恶意软件中,92% 是针对 Windows,4.5 是针对 Linux,3.5% 是针对 macOS。
by @code小生 2021-09-20 11:15 分享 查看详情
22个超详细的JS数组方法 (mp.weixin.qq.com)
数组是 js 中最常用到的数据集合,其内置的方法有很多,熟练掌握这些方法,可以有效的提高我们的工作效率,同时对我们的代码质量也是有很大影响。
by @code小生 2021-08-22 22:35 分享 查看详情