Golang Go语言开源项目求推荐

发布于 1周前 作者 sinazl 来自 Go语言

Golang Go语言开源项目求推荐
如题,请问各位有什么比较优秀的开源项目推荐的吗?代码量不要那么高的那种,就想学习一下然后看看能不能找个实习。

45 回复

同求!

更多关于Golang Go语言开源项目求推荐的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


出于找工作就别 Golang 了,Java 不好吗。

我想冲 java 了

https://github.com/gowk?language=go&tab=stars
可以看看我 star 的一些项目,里面有不少短小精悍的代码

https://github.com/xpzouying/graft
之前学习 raft 时 fork 加修改。对于 raft 的理论学习推荐,在面试时应该也很有用。原本的代码写的很清晰。

awesome-go 里找
awesome-go 本身就不错,收集、整理 go 库
语言只是语言,还得选择方向,不是所有程序员都做 web

https://geektutu.com/post/gee.html 极客兔兔的从 0 开始系列
https://github.com/golang/groupcache 支持 lru,一致性哈希,singlefight 的缓存模块

自荐 https://github.com/eudore/eudore,开发两年多了还在持续优化中,代码行 6300 无依赖,建议配合 wiki 文档看,gohttp 领域内容基本都包含。

自荐 https://github.com/eudore/eudore
开发两年多了还在持续优化中,代码行 6300 无依赖,建议配合 wiki 文档看,gohttp 领域内容基本都包含。

听说 Codis 源码质量很高

搞清楚 golang 的核心,以及自己看开源项目是为了什么。
推荐 go 的开源项目,基于一定的语言基础的话,在个人看来没有第二个可选项,看 nsq 的源码吧,
这个项目里有啥:goroutine 的灵活运用,tcp 与 http 网络编程,各类的编程技巧

楼上各位老魔法师推荐的都挺好,但对新手可能不现实,一些库别说是实习生,就是用了几年 go 的,通读一遍代码也要花很久。
找工作可以,先根据期望去的公司,过滤出招聘要求,再查漏补缺。
常见的 redis, mysql,go 会用,go 就是普通的编程语言,if else go chan,玩下,就随便写写就行了,这玩意太简单了。
然后准备些自己的亮点,比如我的一个亮点,具备很多 rfc 协议重零开发的能力。实例论证 https://github.com/antlabs/httparser
最后就是数据结构和算法。
工作以后,加强学习能力的锻炼,比如 8 个小时看完一本书,这样以后遇到未知的知识点,也能快速了解全局概念。

自己做一个项目不挺好?

看下 openbilibili-go-common 项目, 学习后可以投一下 bilibili 实习。

向大佬学习

同意楼上说的需要有亮点。

对新手来说,只要稍微付出一些努力,就可以比同等级的简历亮眼很多。
但所突出的必须是自己真正掌握的,已经使用了的。而不是简单的看了看。

把自己之前帮朋友时用的项目和你分享下,我认为这两个是比较合适的,难度其实很低,但是比一般的增删改查亮眼。


1. 将你之前写过的业务代码作为模板,然后此基础上,做一个优化的工具。提高业务代码的产出效率。

参考 https://github.com/cyjme/gen

一个命令生成增删该查的接口和文档



2. 自己实现一个简易版本的 API 网关

参考 https://github.com/cyjme/ioa
该项目是参考 spring cloud gateway,实现的 go 版本的 api 网关。

这个项目你做起来的话,可简单可复杂。核心代码大概只有 1000 多行。其他的功能实现在:predicates 和 filters 目录。
功能实现都通过插件的形式,融入到项目中。如:限流、熔断、认证、缓存、复制请求 等功能。

根据自己的能力和时间,去完成对应的功能。

=================================


就找工作来说,个人认为可以准备一些应用广泛,并且可深可浅的项目,项目要『接地气』,无论大小公司基本上都会用的到。
比如 业务框架、网关、聊天等,既可以浅尝辄止,也可以深入研究。1000 行代码就能做出来基础版,也可以扩展到 1w 行代码。

另外项目必须要是自己实现的,有过深入的思考。最好能多实现几个版本,从最简单的开始迭代。

用 golang 完成存储相关的项目,可以寻找优秀项目: https://github.com/gostor/awesome-go-storage

另外推荐我们之前做的一个业余项目: https://github.com/gostor/gotgt

是一个使用 golang 完成的纯用户态的 iSCSI target,可能门槛有点高,需要懂 iSCSI 协议,不过目前已经被其他项目用起来了。

觉得还是 Go 香啊!

PingCAP 啊!

谢谢回复,很耐心!但是现在内卷太严重了啊,没有好的学校出身,再没有拿得出手的项目经历分分钟被刷掉了。

谢谢回复,我会好好参考你的建议的!

谢谢回复,iSCSI 真的没有听说过,大佬!

正是因为自己做不出来啊,方向都找不到,所以才提问了啊。

上来就直接推荐 github.com/golang/go 的非傻即坏;
建议可以从感兴趣的方向入手,如果对数据库方向感兴趣,可以先去看看 boltdb 的源码,短小精悍,简洁精炼;
如果对 Web 框架实现方向感兴趣这里可以直接去看 net/http,官方实现的很完整,导致 Go 部分的 Web 框架实际就是对官方的 net/http 做了一层 Wrapper ;
如果对容器化方向感兴趣,不建议直接就去看 Docker 或者 Kubernetes 的源码,过于庞大复杂,一头扎进去会迷失方向的,可以找一些 Go 实现的 Tiny Docker 或 Tidy K8S (应该是有对应的代码库,忘了叫什么名字了

go-carbon,轻量级、语义化、对开发者友好的 Golang 时间处理库,支持链式调用和 gorm 、xorm 、zorm 等主流 orm
https://github.com/go-graphite/go-carbon

谢谢大佬!

我也在准备找实习,交流交流?

怎么联系呢?

我的 QQ 是 240081990

大佬,你的博客用的什么主题,还是自己写的

https://github.com/probberechts/hexo-theme-cactus

这个,然后做了一点小改动。

参加工作 1 年的 深以为然 常用的工具还没有特别熟悉呢. 另外就是缺少一个自己的亮点了

细说怎么可以 8 小时看完一本书,工作以后学习能力下降了,一本大概 300 页的动物书看了几个月了才差不多一半呢,而且感觉学习质量很差。。

带有目的性看就行。比如要做一个好玩的东西,少了相关的知识点,然后看下对应的书。
我现在获取知识点的过程是 1. 做一个好玩的东西-》 2. 缺少相关知识-》 3. 边查边做。 这样注意力不容易散,可以坚持下去。如果喜欢有分享欲望,还可以加 4. 总结。

以前也适过没有目的性看书。看过 unix 环境高级编程, apue ,大而全的书,容易放弃。

可以根据自己的爱好选择适合的流程,我是特别喜欢写代码,才这么获取知识点的。喜欢就意味着不容易放弃。

针对您提出的关于Golang开源项目的推荐需求,以下是一些值得关注的Golang开源项目:

  1. Gin:一个快速和灵活的HTTP web框架,支持中间件,易于集成,广泛应用于Web后台开发中。
  2. Cobra:一个用于创建CLI应用程序的库,可自动生成帮助文档,支持子命令和全局命令。
  3. GORM:一个简单而强大的ORM库,支持多种数据库,如MySQL、PostgreSQL等,使用Golang的struct和ORM模式进行数据库操作。
  4. Colly:一个轻量级的web爬虫框架,可灵活配置网页爬取,提取文本和其他内容。
  5. Viper:一个用于配置管理的库,支持多种配置格式,如yaml、json等,方便管理配置文件和环境变量。
  6. Caddy:一个主打易用性的Web服务器,支持HTTP/2、HTTPS,自动配置,无需手动设置。
  7. Traefik:一个云原生的HTTP反向代理、负载均衡软件,兼容多种集群技术,自动服务发现,无需维护配置文件。
  8. go-admin:一个用Golang编写的数据可视化管理平台,支持多种框架接入,提供插件化应用。

这些开源项目各具特色,涵盖了Web开发、CLI应用程序、数据库操作、爬虫、配置管理等多个领域,希望其中有能满足您需求的项目。

回到顶部