登录
首页 >  Golang >  Go问答

Go语言中的数据结构

来源:stackoverflow

时间:2024-02-25 18:21:23 481浏览 收藏

最近发现不少小伙伴都对Golang很感兴趣,所以今天继续给大家介绍Golang相关的知识,本文《Go语言中的数据结构》主要内容涉及到等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~

问题内容

我使用 golang 作为我的服务器语言(因为我喜欢学习新语言)。 与 Python 或 Javascript 不同,我喜欢 Go 是强类型的。

我正在寻找一种设计模式,以允许我为自定义对象创建集合。 在 Java、C# 或 C++ 中,我会使用泛型。在 C 语言中,我会破解预处理器。在golang中,我无法想出解决方案。

我总是可以使用interface{},但这样我就会失去强类型的优势。 (你好 python/node.js 运行时错误!)

目前,我只是为我需要的每种新类型复制粘贴我的集合,但我发现自己很难维护代码库,因为现在每个集合都有大约 10 个副本。所以我正在寻找更好的设计模式。 (此外,我的每一点都在告诉我这是一个坏主意)

我并不是在寻找“Go 中没有泛型”的咆哮。我正在寻找遇到过此类问题并围绕此类问题进行设计的实际经验丰富的 golang 开发人员。


解决方案


不幸的是,如果像切片/映射这样的标准 go 数据类型不具备您目前需要的功能,那么我们无能为力。

添加泛型可以使集合的实现变得更容易。目前,该工具已经有了草案和第二版。 您可以找到更多信息here

https://github.com/ReactiveGo/jig 是一个工具,它可以通过生成您需要的集合来让您的生活更轻松。

今天关于《Go语言中的数据结构》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>