12个Go语言项目:带你从入门到精通_农资王软件服务中心

12个Go语言项目:带你从入门到精通

2023-08-22 18:14:57  浏览:138  作者:农资王

不了解Golang一上来就练一些项目,可能会处处受挫,打击学习信心。

如果你是第一次接触Go,建议先从基础的入门开始,由易到难,循序渐进式学习,可以少走一些弯路。

我整理了一份自学干货,会按照由入门基础>>>小项目练手推荐>>>大项目参考了解架构思路,由易到难的顺序给大家分享,希望能帮助你更快掌握这门强大的语言。

1.《Go 入门指南》

29.6k stars

传送门: github.com/unknwon/the-

首先必须推荐《Go 入门指南》,这本开源书籍是unknown Joe Chen苦于当时国内没有比较好的 Go 语言书籍,所以翻译了这本国外书籍《The Way to Go》。现在以开源的形式免费分享给有需要的 Go 语言爱好者。

书籍部分目录参考

这本书将从最基础的概念讲起,然后逐步深入学习Go高级编程技巧,如读写数据、错误处理和测试、协程和通道、网页应用等,内容比较体系易懂,很适合初步学Go语言的同学。

2.从零开始学 Go Web 编程:build-web-application-with-golang

40.3k stars

传送门:github.com/astaxie/buil

作者astaxie从零开始:从 Go 的环境安装和配置、基本语法再到 Go Web 开发,手把手全面教了一遍。

想要学会Go Wed编程,这本开源书籍不容错过,打好基础,再去做其他的项目才会更加得心应手。

在你打好了一定的基础之后,再挑战一些稍微大的项目练练手,你会更容易领悟到 Go 语言在实际中是如何应用的。

3.Training for Golang (go language)

8.1k stars

传送门:github.com/GoesToEleven

这个整合了各种go特性例子代码案例,例子相当丰富且代码行数不多,很适合自己亲自敲一敲跑一跑,你一定会学到不少的东西。

4.七天用 Go 从零实现系列:7days-golang

10.5k stars

传送门:github.com/geektutu/7da

这个极客兔兔 大佬分享的7天用Go从零实现系列,包括Web框架 、 分布式缓存、ORM框架、RPC框架、WebAssembly等等,这些500行至3000行的项目,很适合有一定基础的用来练手。

部分目录


从这里开始的项目就有些难度了:

5.Go 数据可视化项目:go-echarts

4.6k stars

传送门:github.com/go-echarts/g

在 Golang 这门语言中,目前数据可视化的第三方库还是特别少,go-echarts的开发就是为了填补这部分的空隙。 Apache ECharts是非常优秀的可视化图表库,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。也有其他语言为其实现了相应语言版本的接口,如 Python 的pyecharts,go-echarts 也是借鉴了 pyecharts 的一些设计思想。

你可以挑选对自己最有帮助的数据可视化模型代码来研究学习,然后一个个攻破。

可视化图表库1
可视化图表库2
可视化图表库3




Go项目进阶:

从这里的开始项目体系比较庞大,难度也较大,不过项目都挺优秀的,可以了解项目的设计理念,整理分享给大家,大家量力而行:

6.gochat

1.8k stars

传送门:LockGit/gochat: goim server write by golang ! (github.com)

gochat 是纯 Go 实现的轻量级即时通讯系统。技术上各层之间通过 RPC 通讯,使用 Redis 作为消息存储与投递的载体,相对 Kafka 操作起来更加方便快捷。各层之间基于 etcd 服务发现,在扩容部署时将会方便很多。架构、目录结构清晰,文档详细。而且还提供了 Docker 一键构建,安装运行都十分方便。

7.API框架

3.4k stars

传送门:github.com/xinliangnote

基于 Gin 进行模块化设计的 API 框架,封装了常用功能,使用简单,致力于进行快速的业务研发。 比如,支持 cors 跨域、jwt 签名验证、zap 日志收集、panic 异常捕获、trace 链路追踪、prometheus 监控指标、swagger 文档生成、viper 配置文件解析、gorm 数据库组件、gormgen 代码生成工具、graphql 查询语言、errno 统一定义错误码、gRPC 的使用、cron 定时任务 等等。

8.容器技术docker

63.1k stars

传送门:github.com/moby/moby

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包装系统。


9.PaaS工具 kubernetes

88.5k stars

传送门:github.com/kubernetes/k

Kubernetes 是来自 Google 云平台的开源容器集群管理系统。基于 Docker 构建一个容器的调度服务。该系统可以自动在一个容器集群中选择一个工作容器供使用。其核心概念是 Container Pod。


10.数据库技术 pingcap/tidb

31.3k stars

传送门:github.com/pingcap/tidb

TiDB 是国内 PingCAP 团队开发的一个分布式 SQL 数据库。其灵感来自于 Google 的 F1, TiDB 支持包括传统 RDBMS 和 NoSQL 的特性。


11.gohugoio

59k stars

传送门:github.com/gohugoio/hug

Hugo是由Go语言实现的静态网站生成器;简单、易用、高效、易扩展、快速部署;相比于Hexo、Jekyll,hugo的优势是生成速度极快。


12.存储技术 IPFS

13.6k stars

传送门:ipfs/go-ipfs: IPFS implementation in Go (github.com)

IPFS 是分布式文件系统,寻求连接所有计算机设备的相同文件系统。在某些方面,这很类似于原始的 Web 目标,但是 IPFS 最终会更像单个比特流群交换的 git 对象。IPFS = InterPlanetary File System


评论区

共 0 条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

【随机内容】

返回顶部