The Go Programming Language
› http://golang.org/
› Go Playground
Go Projects
› Revel Web Framework
BeautifulSoap

写了篇全面介绍 Go1.18 泛型的文章,可能是目前介绍泛型介绍最详细的文章之一

  •  3
     
  •   BeautifulSoap · Mar 31, 2022 · 4200 views
    This topic created in 1679 days ago, the information mentioned may be changed or developed.

    断断续续花了我一个多星期时间才写完,可以说是写得挺慢了,但也因此把目前泛型从里到外各种细节也都囊括了进去(如果仍有遗漏地话欢迎指出)

    至于为什么要写这文章,这里摘抄下原文的序章:

    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

    欢迎大家指点~

    14 replies  •  2023-02-03 20:26:49 +08:00
    BBCCBB
    BBCCBB
    Mar 31, 2022
    1
    学习了
    plutome
    plutome
    Mar 31, 2022
    2
    很详细了
    NoKey
    NoKey
    Mar 31, 2022
    3
    大佬,有比较好的 go 的教程么,目前做 java 开发,想学习一下 go
    waising
    waising
    Mar 31, 2022
    4
    。。。看到这个贴子前,我竟然已经在看 sf 里的文章了
    BeautifulSoap
    BeautifulSoap
    OP
    Mar 31, 2022
    5
    @NoKey 我是看的 the way to go ,有别的语言基础的话应该很快就能看上手了。有了基础就是写点项目然后遇到不会的直接搜对应的文章就行了。

    the way to go 有中文:

    https://github.com/unknwon/the-way-to-go_ZH_CN
    RedisMasterNode
    RedisMasterNode
    Mar 31, 2022
    6
    仔细看了前面一些,写得挺好的加油
    proxytoworld
    proxytoworld
    Mar 31, 2022
    7
    666
    fyooo
    fyooo
    Mar 31, 2022
    8
    写的很棒,谢谢分享
    EscYezi
    EscYezi
    Mar 31, 2022 via iPhone
    9
    抓个虫,掘金上的文章
    type WowStruct[int, []int] struct {
    Data []iont
    MaxValue int
    MinValue int
    }
    iont 应该是 int
    lazypu
    lazypu
    Mar 31, 2022
    10
    感谢分享,对于从没接触过泛型的我很友好。
    BeautifulSoap
    BeautifulSoap
    OP
    Mar 31, 2022
    11
    @EscYezi 多谢指点,虽然已经修正过一遍了但似乎还有点虫子和措辞的问题,晚上会再次修改一遍~
    Kisesy
    Kisesy
    Apr 1, 2022
    12
    4.2 动态判断变量的类型 这一节在参数前面用 any 或者 interface 转一下就可以断言了

    if _, ok := any(arg).(string); ok {
    }
    cityboy
    cityboy
    May 11, 2022
    13
    写的很详细,好文章~
    runtousa
    runtousa
    Feb 3, 2023
    14
    op 现在工作用 go 了?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1357 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 20:58 · PVG 04:58 · LAX 12:58 · JFK 15:58
    ♥ Do have faith in what you're doing.