2018.11月Go优质开源项目

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018.11月Go优质开源项目相关的知识,希望对你有一定的参考价值。

参考技术A 项目描述:Build cross-platform modern desktop apps in Go + html5

项目描述:Pprof made easy at development time for Go

项目描述:ObjectBox Go - persisting your Go structs/objects superfast and simple

项目描述:Scan and analyze OSS dependencies and licenses from compiled Go binaries

项目描述:Fast thread-safe inmemory cache for big number of entries in Go

项目描述:Go library for building event-driven applications.

项目描述:high performance fixed decimal place math library for Go

项目描述:a tiny software that receive a smtp request (email) and send it to the specified webhook as a http post request

项目描述:Compile-time Dependency Injection for Go

项目描述:Go implementation of Linux Network Block Devices

项目描述:Go package for caching DNS lookup results in memory.
主页地址: https://go.mercari.io/go-dnscache

项目描述:Go Firecracker SDK

项目描述:A standalone lightweight full-text search engine built on top of blevesearch and Go with multiple storage (scorch, boltdb, leveldb, badger)
主页地址: https://alash3al.github.io/srchx

项目描述:Fast web fuzzer written in Go

项目描述:dogsled is a Go static analysis tool to find assignments/declarations with too many blank identifiers.

项目描述:go语言封装的各种对称加密和非对称加密,可以直接使用,包括3重DES,AES的CBC和CTR模式,还有RSA非对称加密,ECC椭圆曲线的加密和数字前面签名

项目描述:Plugin-driven CLI utility for code generation using Go source as IDL

项目描述::books: 《青云QingCloud云计算入门 - 基于Go语言》青云直上·只上青云·云之基石·自由计算(还未启动…)
主页地址: https://chai2010.cn/qingcloud-primer-book

项目描述:Ja3 TLS Client Hello Hashes in Go

项目描述:Fast Golang PCAP Reader & Benchmark Comparison

更多精彩内容 http://coderminer.com

盘点 GitHub 那些标星超过 20 K 的 Golang 优质开源项目

前言

Golang 作为一门还在快速成长的编程语言,想要与时俱进,还得多看看这几个开源项目。

听说你想学习 Go 语言,那我就来总结一下:那些目前我所了解的优质 Golang 开源项目。

Go 自己

盘点

学习 Go 语言,可别忘记了 Go 本身是一门可以轻松构建简单,可靠和高效软件的开源编程语言

官网:​https://go.dev/​

GitHub 地址:​https://github.com/golang/go​

Stars:103k

推荐理由:

  • 针对新手如果想学习 Go 语言,必不可少的需要下载 Go 安装包
  • 针对大佬,如果想研究源码,当然也需要来这下载源代码

Awesome Go

官网:​https://awesome-go.com/​

Github地址:​https://github.com/avelino/awesome-go​

Stars:85.5k

推荐理由:互联网搬运工的工作,还得看 Awesome 系列,懂得都懂!

An awesome list is a list of awesome things curated by the community.

本开源项目涵盖众多项目,包括但不限于数据库、游戏开发、区块链、Web 开发框架、身份认证、持续集成、自动化构建等方面。

项目多是优点也是缺点,如果可以通过在实践中选择学习和使用效果可能更好。



盘点

Go 算法

学习完 Go 的基础语法,当然作为入门者肯定要学习一下算法与数据结构,这里也推荐两个比较合适的开源项目。

TheAlgorithms/Go

盘点

官网:​https://the-algorithms.com/​

GitHub 地址:​https://github.com/TheAlgorithms/Go​

Stars:10.5k

推荐理由:一个是大名鼎鼎的 The Algorithms, 这个仓库由众多大佬参与的用各种语言实现经典的算法:比如:二分搜索、快速排序、动态规划和常见数据结构等,像其标语所说的:目前 Github 最大的开源算法库。本人之前写的几篇数据结构的文章都得从这里来看看,同样是链表,学习我写的和大佬实现的有何差异,一旦发现有所考虑不全,立马向大佬学习。目前用 go 已经实现了的算法可以点​​此处​​。

LeetCode-Go

盘点

官网:​https://books.halfrost.com/leetcode/​

Github 地址:​https://github.com/halfrost/LeetCode-Go​

Stars:26.2k

推荐理由:如果想从事 Go 语言开发,一个无可避免的地方就是需要算法面试,那你一定不能错过这个开源项目。halfrost 大佬花了一年用 Go 语言刷题,最后总结出这套 1000 多道题的 LeetCode 题解与心得,并将此题解制作成一本开源电子书,一经推出,得到众多大佬的推荐。作者表示,书中所有的代码题解都是 beats 100%,可谓是一本制作精良,Go 刷题必备居家旅行之好书。可以点​​此处​​在线阅读。

Go 框架

Gin

盘点

官网地址:​​https://gin-gonic.com/​

Github 地址:​https://github.com/gin-gonic/gin​

Stars:61.8k

推荐理由:一款盛名远扬的 Go Web 开发框架。功能强大、快速灵活、性能高。笔者还在学习中,所以也道不出什么所以然。当时学它总没错。

Fiber

盘点

官网:​https://gofiber.io/​

Github 地址:​https://github.com/gofiber/fiber​

Stars:21.4k

推荐理由:一个简单快速的 Go Web 框架。 Fiber 专注于极致性能和低内存占用。它的灵感来自流行的 Express JS 框架。

Go Zero

盘点

官网:​https://go-zero.dev/​

Github 地址:​https://github.com/zeromicro/go-zero​

Stars:19.8k

推荐理由:一款云原生微服务 RPC 框架,集成了各种工程实践的 web 和 rpc 框架。通过弹性设计保障了大并发服务端的稳定性,经受了充分的实战检验。

Iris

盘点

官网:​https://www.iris-go.com/​

Github 地址:​https://github.com/kataras/iris​

Stars:22.7k

推荐理由:据官网介绍,Iris 是最快的 HTTP/2 Go Web 框架,简单易学。跨平台、具有强大的功能集、能够有效构建高性能 Web 应用程序和可移植性 API 。

Beego

盘点

官网:​https://beego.vip/​

Github 地址:​https://github.com/beego/beego​

Stars:28.7k

推荐理由:国内一群大佬开发,文档全原生中文、上手简单。

Echo

盘点

官方地址:​https://echo.labstack.com/​

Github 地址:​https://github.com/labstack/echo​

Stars:23.1k

推荐理由:众多 Go Web 框架的一个,根据官网介绍,它有着高性能、可扩展性、极简的特点。

Go 项目

Project Layout

Github 地址:​​https://github.com/golang-standards/project-layout​

Stars:33.7k

推荐理由:本开源项目提供了一个良好的项目组织架构,提供给 Go 开发者一个良好的应用程序项目的基本布局。它不是核心 Go 开发团队定义的官方标准;然而,它是 Go 生态系统中一组常见的老项目和新项目的布局模式。随着项目的增长,保持代码结构良好非常重要,否则你最终会得到一个凌乱的代码,这其中就包含大量隐藏的依赖项和全局状态。

总之,参与人员越多,项目结构越重要

GORM

盘点

官网:​https://gorm.io/​

Github 地址:​https://github.com/go-gorm/gorm​

Stars:29.2k

推荐理由: 一款 Go 语言的 ORM 库,具有灵活的可扩展插件 API:Database Resolver(多数据库,读写分离)、Prometheus。记得有一个前辈跟我说过,为了简化操作开源使用 ORM,如果需要做到性能最优,还是得靠 DBA 写一些高效的 SQL 语句。

没有一项工具是可以一劳永逸的,但是我们学习还是值得的。不知其所以,怎么知其不可以。

Traefik

盘点

官网:​https://traefik.io/​

Github 地址:​https://github.com/traefik/traefik​

Stars:39.2k

推荐理由:一款开源的反向代理与负载均衡工具。它最大的优点是能够与常见的微服务系统直接整合,可以实现自动化动态配置。为了让系统好好上线,咱可得好好学吖。

V2ray Core

盘点

官网:​https://www.v2fly.org/​

Github 地址:​https://github.com/v2fly/v2ray-core​

Stars:17.5k

推荐理由: 无需多介绍,用得多的人应该都听过 V2Ray 客户端。

Rclone

盘点

官网:​https://rclone.org/​

Github 地址:​https://github.com/rclone/rclone​

Stars:34.1k

推荐理由:一个集成了各大云平台供应商云存储的接口的命令行程序,有效用于管理云存储上的文件,包括:Google Drive, S3, Dropbox, Backblaze B2, One Drive 等等。

Gitea

盘点

官网:​https://gitea.io/zh-cn/​

Github 地址:​https://github.com/go-gitea/gitea​

Stars:31.6k

推荐理由:一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写

GitHub CLI

盘点

官网:​https://cli.github.com/​

Github 地址:​https://github.com/cli/cli​

Stars:29.4k

推荐理由:Github 官方用于构建命令行程序的库,实现了命令行与 GitHub 进行无缝的协同工作。

Clash

盘点

Github 地址:​https://github.com/Dreamacro/clash​

Stars:29.9k

推荐理由:Clash 是一个使用 Go 语言编写,基于规则的跨平台代理软件核心程序,支持 SS / VMess 协议,正在使用 Windows 版本。

Cobra

盘点

官网:​https://cobra.dev/​

Github 地址:​https://github.com/spf13/cobra​

Stars:28k

推荐理由:也是一个优异的 CLI 框架,同样提供了简单的接口来创建命令行程序,众多优秀的项目中都使用到了 Cobra,如 Kubernetes、Hugo 和 Github CLI 等。

Data Science Masters

盘点

官网:​http://datasciencemasters.org/​

GitHub 地址:​https://github.com/datasciencemasters/go​

Stars:21.6k

推荐理由:如果你对数据科学领域感兴趣,本开源项目带你学习数据科学的开源课程。

Project Based Learning

盘点

Github 地址:​https://github.com/practical-tutorials/project-based-learning#go​

Stars:74.7k

推荐理由:这个仓库汇集了众多编程语言从零开始学的优质博客或者教程。作者也选取了几个优质的 Go 教程供大家学习,如果你也想学习除了 Go 语言之外的语言,可以看看这个仓库。

总结

Go 的开源优秀项目太多了。感兴趣的读者可以在 Github 的简单的一个搜索语法进行快速搜索,例如通过在搜索框中输入: ​​go stars:>=20000​

就能在全站中搜索标星超过 20 K 的项目,得获取到如下界面:

盘点

可以看到目前的搜索结果大概有 51 个仓库,本文自然没有全部列出。

比如还有一些名声大噪的项目如 ​​Kubernetes​​​、​​Docker​​​、​​Hugo​​​、​​CockroachDB ​​​、​​etcd​​​ 以及以太坊官方 Go 实现 ​​Ethereum ​​等都没有一一介绍了:一是篇幅有效,二是这些项目无需过多介绍,大家都会自行了解和学习。

开源项目千千万,对于我这种菜鸟来说,也很难有时间能把所有的项目摸透(大佬绕开),但是如果能吃透一个开源项目,甚至成为一个开源项目的贡献者,我想这条路一定是艰难但且有意义的。

Go 语言爱好者的你,赶紧挑一个本文中用得上的项目学起来用起来。

下期我将旁边一些 Go 优质的开源图书,敬请期待!

以上是关于2018.11月Go优质开源项目的主要内容,如果未能解决你的问题,请参考以下文章

8月,Github 最热开源项目排行榜来啦

解读|TARS开源项目发布Go语言版本

几个优质的DevOps开源项目分享

几个优质的DevOps开源项目分享

Go Cloud项目开源发布:Go语言将成为云端应用开发的首选语言?

Go语言诞生5周年!10大Go语言开源项目推荐