把一些常见的、基础的操作单独封装,比如反转字符串,元素在不在列表里,哈希等等,然后组成一个工具库
我写了一个 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 1
嘿嘿,目前一大波 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 1
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 1
其实就拿你的 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 1
没有范型,玩不转的
|