V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
rix
V2EX  ›  Go 编程语言

一個簡單的函數式參數合併 helper

  •  
  •   rix · 2022-09-09 16:03:51 +08:00 · 1367 次点击
    这是一个创建于 810 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Golang 常用的函數式參數範式最早由 Rob Pike 提出

    使用這種模式的時候我們經常要重複類似下面這段代碼:

    opts := new(optionsT)
    for _, f := range options {
        f(opts)
    }
    

    現在借助泛型,我寫了一個幾行代碼的 helper 來化簡:

    import "gopkg.in/option.v0"
    opts := option.New(options)
    

    當你有很多使用這個範式的函數的時候,這個 helper 用起來能省一些事情。 之前我是每個項目裏面都會直接存一份這個 helper ,但是後來發現用得太多了,就專門弄成一個庫可以直接 import 了。

    4 条回复    2022-11-18 22:07:12 +08:00
    iamperiod331www
        1
    iamperiod331www  
       2022-09-09 17:30:27 +08:00
    Go 的语法快要改的不认识了
    YangWaleed
        2
    YangWaleed  
       2022-09-09 18:12:30 +08:00
    @iamperiod331www 比我好,我已经不认识了
    rekulas
        3
    rekulas  
       2022-09-10 00:19:54 +08:00
    其实挺好的,以前写代码总感觉束手束脚,现在加了泛型灵活多了
    czyt
        4
    czyt  
       2022-11-18 22:07:12 +08:00
    gopkg.in 链接怎么搞得
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5390 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 05:55 · PVG 13:55 · LAX 21:55 · JFK 00:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.