断断续续花了我一个多星期时间才写完,可以说是写得挺慢了,但也因此把目前泛型从里到外各种细节也都囊括了进去(如果仍有遗漏地话欢迎指出)
至于为什么要写这文章,这里摘抄下原文的序章:
2022 年 3 月 15 日,争议非常大但同时也备受期待的泛型终于伴随着 Go1.18 发布了。
可是因为 Go 对泛型的支持时间跨度太大,有非常多的以“泛型”为关键字的文章都是在介绍 Go1.18 之前的旧泛型提案或者设计。而很多设计最终在 Go1.18 中被废弃或发生了更改。并且很多介绍 Go1.18 泛型的文章(包括官方的)都过于简单,并没对 Go 的泛型做完整的介绍,也没让大家意识到这次 Go 引入泛型给语言增加了多少复杂度(当然也可能单纯是我没搜到更好的文章)
出于这些原因,我决定参考 The Go Programming Language Specification ,写一篇比较完整系统介绍 Go1.18 泛型的文章。这篇文章可能是目前介绍 Go 泛型比较全面的文章之一了
因为我实在是懒得维护个人博客(手上一堆 vps 和一个独服但没那心思去打理),所以文章选择发在博客平台了,今后有文章也会发在各种平台上(博客园似乎也挺不错得,今后会考虑做一个备选的归档库):
https://juejin.cn/post/7080938405449695268
https://segmentfault.com/a/1190000041634906
欢迎大家指点~
1
BBCCBB 2022-03-31 13:42:20 +08:00
学习了
|
2
plutome 2022-03-31 13:57:16 +08:00
很详细了
|
3
NoKey 2022-03-31 14:29:38 +08:00
大佬,有比较好的 go 的教程么,目前做 java 开发,想学习一下 go
|
4
waising 2022-03-31 14:33:56 +08:00
。。。看到这个贴子前,我竟然已经在看 sf 里的文章了
|
5
BeautifulSoap OP @NoKey 我是看的 the way to go ,有别的语言基础的话应该很快就能看上手了。有了基础就是写点项目然后遇到不会的直接搜对应的文章就行了。
the way to go 有中文: https://github.com/unknwon/the-way-to-go_ZH_CN |
6
RedisMasterNode 2022-03-31 14:55:47 +08:00
仔细看了前面一些,写得挺好的加油
|
7
proxytoworld 2022-03-31 14:56:49 +08:00
666
|
8
fyooo 2022-03-31 15:16:11 +08:00
写的很棒,谢谢分享
|
9
EscYezi 2022-03-31 15:57:57 +08:00 via iPhone
抓个虫,掘金上的文章
type WowStruct[int, []int] struct { Data []iont MaxValue int MinValue int } iont 应该是 int |
10
linxl 2022-03-31 16:41:46 +08:00
感谢分享,对于从没接触过泛型的我很友好。
|
11
BeautifulSoap OP @EscYezi 多谢指点,虽然已经修正过一遍了但似乎还有点虫子和措辞的问题,晚上会再次修改一遍~
|
12
Kisesy 2022-04-01 14:49:46 +08:00
4.2 动态判断变量的类型 这一节在参数前面用 any 或者 interface 转一下就可以断言了
if _, ok := any(arg).(string); ok { } |
13
cityboy 2022-05-11 09:40:21 +08:00
写的很详细,好文章~
|
14
runtousa 2023-02-03 20:26:49 +08:00
op 现在工作用 go 了?
|