首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
华为云
V2EX  ›  程序员

Go 语言版 lodash/Underscore,这个 idea 怎么样

  •  
  •   iawia002 · 128 天前 · 1954 次点击
    这是一个创建于 128 天前的主题,其中的信息可能已经有所发展或是发生改变。

    把一些常见的、基础的操作单独封装,比如反转字符串,元素在不在列表里,哈希等等,然后组成一个工具库

    我写了一个 demo,https://github.com/iawia002/ut

    大致效果如下:

    gore> :import github.com/iawia002/ut
    gore> ut.Reverse("12345")
    "54321"
    gore> ut.Range(0, 5)
    []int{0, 1, 2, 3, 4, 5}
    gore> ut.TrimSpace("1 2\n3\t45")
    "12345"
    gore> ut.Domain("hello.com")
    "hello"
    gore> ut.ItemInSlice("a", []string{"a", "b", "c"})
    true
    gore> ut.Md5("123")
    "202cb962ac59075b964b07152d234b70"
    

    有没有同学有什么想法呀,我们可以深入♂探讨一下

    13 回复  |  直到 2018-07-14 20:37:26 +08:00
        1
    gowk   128 天前   ♥ 1
    嘿嘿,目前一大波 Java,Node 库都可以照搬到 Go,练习 Go 编程不说,还可以攒 Star,找到下份 Go 工程师的工作指日可待
        2
    Cbdy   128 天前 via Android
    把 Java 的 Guava,Common 抄一下,稳了
        3
    ericgui   128 天前
    @gowk 有道理
        4
    agdhole   128 天前
    一直在用 js 的 lodash,超强的库
    搬到 go 目测可以弄很多星星
        5
    iawia002   128 天前
    受限于语言特性,有些东西很难搬。我现在写的都是在其他项目中用到比较多的
        6
    reus   128 天前
    多余
        7
    tiancaiamao   128 天前
    要么使用弱类型,要么有类型系统,否则玩函数式就是残疾的。
    Go 都不满足。什么,你想用 interface{}?慢慢玩
        8
    zzf   128 天前   ♥ 1
    https://gubrak.github.io/#/documentation 这个已经有人做了一些了
        9
    iawia002   128 天前
    @zzf Get ✓
        10
    reus   128 天前
    @tiancaiamao go 用函数式完全没问题。还有类型系统,哪个语言没有类型系统?
        11
    coyove   128 天前   ♥ 1
    其实就拿你的 ItemInSlice 来说,
    java 可以写:boolean ItemInSlice(List<?> list)
    但 go 不能写:func ItemInSlice(slice []interface{}) bool
    go 的类型系统里不存在真正意义上的泛型,这个前提就已经让所有这样类似的函数都必须用 interface{}加反射实现,意义真的不大
        12
    iawia002   128 天前
    @coyove 嗯,确实不优雅

    我是遇到要判断字符串,有时又要判断 int 在不在列表里,不想写两个差不多的函数才这样的
        13
    nino   128 天前   ♥ 1
    没有范型,玩不转的
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   896 人在线   最高记录 3821   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 18ms · UTC 18:19 · PVG 02:19 · LAX 10:19 · JFK 13:19
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1