
把一些常见的、基础的操作单独封装,比如反转字符串,元素在不在列表里,哈希等等,然后组成一个工具库
我写了一个 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" 有没有同学有什么想法呀,我们可以深入♂探讨一下
1 gowk 2018-07-14 12:10:05 +08:00 嘿嘿,目前一大波 Java,Node 库都可以照搬到 Go,练习 Go 编程不说,还可以攒 Star,找到下份 Go 工程师的工作指日可待 |
2 Cbdy 2018-07-14 12:13:09 +08:00 via Android 把 Java 的 Guava,Common 抄一下,稳了 |
4 agdhole 2018-07-14 13:19:32 +08:00 一直在用 js 的 lodash,超强的库 搬到 go 目测可以弄很多星星 |
5 iawia002 OP 受限于语言特性,有些东西很难搬。我现在写的都是在其他项目中用到比较多的 |
6 reus 2018-07-14 15:00:07 +08:00 多余 |
7 tiancaiamao 2018-07-14 15:10:31 +08:00 要么使用弱类型,要么有类型系统,否则玩函数式就是残疾的。 Go 都不满足。什么,你想用 interface{}?慢慢玩 |
8 zzf 2018-07-14 15:31:32 +08:00 https://gubrak.github.io/#/documentation 这个已经有人做了一些了 |
10 reus 2018-07-14 16:57:44 +08:00 @tiancaiamao go 用函数式完全没问题。还有类型系统,哪个语言没有类型系统? |
11 coyove 2018-07-14 18:18:50 +08:00 其实就拿你的 ItemInSlice 来说, java 可以写:boolean ItemInSlice(List<?> list) 但 go 不能写:func ItemInSlice(slice []interface{}) bool go 的类型系统里不存在真正意义上的泛型,这个前提就已经让所有这样类似的函数都必须用 interface{}加反射实现,意义真的不大 |
12 iawia002 OP |
13 nino 2018-07-14 20:37:26 +08:00 没有范型,玩不转的 |