golang 菜鸡,想写一些常用的小组件

2020-04-26 09:56:47 +08:00
 dafsic

写了挺久的 golang 了,但仍然很菜,大一点的开源项目看不懂,所以就想写一些常用小组件,力求简洁。昨天刚写了一个集合的包,因为在网上看了几个别人写的,都不满足我的需求。

想练手的可以一起。

https://github.com/podpingofdeath/gogadgets

3019 次点击
所在节点    Go 编程语言
8 条回复
airplayxcom
2020-04-26 11:11:41 +08:00
支持,顺便提供一下你可能用到的工具 https://github.com/airplayx/gormat,如有帮助请 star 谢谢了
airplayxcom
2020-04-26 11:13:12 +08:00
dafsic
2020-04-26 14:45:02 +08:00
@airplayxcom 好的,已加 star
circleee
2020-04-26 16:39:12 +08:00
@airplayxcom 好的 去看看
wzw
2020-04-26 17:44:56 +08:00
我用 goframe
dafsic
2020-04-26 18:02:44 +08:00
@wzw 别说,这个就是我看过的之一,这里面的 set 定义
type Set struct {
mu rwmutex.RWMutex
data map[interface{}]struct{}
}
不符合我的需求
wzw
2020-04-26 20:12:56 +08:00
@dafsic 我初学 golang,以前 python,这个写法不好?
dafsic
2020-04-27 08:41:28 +08:00
@wzw 假设我有一个结构体,定义为:
type T struce {
Id int
Name string
Ts int64
}

t1 := &T{1,"xxx",2}
t2 := &T{1,"xxx",2}
t3 := &T{1,"zzz",2}

因为 interface{}实质上就是结构体,结构体判断相等就是各个字段都相等才想等。所以,我 t1,t2,t3 都能插入都这个集合里,显然不是我要的结果。甚至如果我认为 Id 和 Ts 字段相同就算相同,那么向集合插入这个三个变量,最终集合中应该只有一个元素。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/666162

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX