Go 从 C 语言继承了相似的表达式语法、控制流结构、基础数据类型、调用参数传值、指针等很多思想,还有 C 语言一直所看中的编译后机器码的运行效率以及和现有操作系统的无缝适配。

Golang 项目地址:github.com/golang/go

新手“上车”晚不晚?GitHub 上面有什么好玩、入门级的 Go 语言项目?

这里是 HelloGitHub 的《GitHub 上适合新手的开源项目》系列,共计 5 篇文章:

C++ 篇Python 篇Go 篇Java 篇JavaScript 篇

本期是 Go 篇,下文的开源项目选自 HelloGitHub 往期月刊。正如 Go 语言之父的 Rob Pike 所说的 Less is more or less is less,本文也本着这一原则:大道至简。下面的每一个 Go 语言开源项目都能独当一面,成为新手的学习项目而且合在一起可以为你提供更为全面的 Go 认知——1 + 1 > 2 。

Talking is cheap, Let's Go

Part One:师父领进门1.1 真正的入门指南:the-way-to-go_ZH_CNGitHub 地址→github.com/unknwon/the-way-to-go_ZH_CN

《Go 入门指南》这本开源书籍是一位 Golang 的布道者(无闻)苦于当时国内没有比较好的 Go 语言书籍,而着手翻译的一本国外书籍《The Way to Go》。该书通过对官方的在线文档、名人博客、书籍、相关文章以及演讲的资料收集和整理,并结合我自身在软件工程、编程语言和数据库开发的授课经验,将这些零碎的知识点组织成系统化的概念和技术分类来进行讲解。

该书将从最基础的概念讲起,同时也会讨论一些类似在应用 goroutine 和 channel 时有多少种不同的模式,如何在 Go 语言中使用谷歌 API,如何操作内存,如何在 Go 语言中进行程序测试和如何使用模板来开发 Web 应用这些高级概念和技巧。

阅读地址→github.com/unknwon/the-way-to-go_ZH_CN/blob/master/eBook/directory.md1.2 从零开始学 Go Web 编程:build-web-application-with-golangGitHub 地址→github.com/astaxie/build-web-application-with-golang

《Go Web 编程》这本开源书籍,从零开始手把手教你 Go 的环境安装和配置、基本语法再到 Go Web 开发的方方面面。可谓是一书在手,“天下”(Go Web)任我行。当然书写得再好,也是“师傅领进门,修行靠个人啊!“

阅读地址→github.com/astaxie/build-web-application-with-golang/blob/master/zh/SUMMARY.mdPart Two:再上一层楼2.1 七天用 Go 从零实现系列:7days-golangGitHub 地址→github.com/geektutu/7days-golang

用 Go 分别写一个:Web 框架、分布式缓存、ORM 框架、RPC 框架的实战教程。有些东西看懂了,不一定会用,会用了也不一定能自己搞出来。所以从零写一个框架,了解其中的细节,才能算上真正懂了吧。

在线阅读→geektutu.com/post/gee.html2.2 Go 学习之路:golang-developer-roadmapGitHub 地址→github.com/Alikhll/golang-developer-roadmap

《Go 开发者路线图》是一个成为 Go 开发的学习路线。一图胜千言,这里选取这个项目是为了让大家能快速了解 Go 所需学习的知识点和前进的方向。

怎么获得优质回答_优质回答需要审核多久_分享优质回答的经验

2.3 Go 高级编程:advanced-go-programming-book

GitHub 地址→github.com/chai2010/advanced-go-programming-book

《Go 语言高级编程》作为针对有一定 Go 基础的进阶书籍,内容涵盖并发、GOC 编程、Go 汇编语言、RPC 实现、Web 框架实现、分布式系统等高阶主题。该书的附录也是一大亮点,收录了 Go 有趣的代码片段、Go 常见坑。要想 Golang 玩得溜,得在 Go 高级编程下功夫 [手动狗头]

在线阅读→chai2010.cn/advanced-go-programming-book/Part Three:是时候展示真正的技术了3.1 星图:starchartsGitHub 地址→github.com/caarlos0/starcharts

这个项目是通过可视化的方式展示 GitHub 上 star 的增长曲线,也就生成是“星图”。推荐这个项目主要是运行简单和直观的数据可视化,可以快速地感受到 Go 开源项目带来的便利。我第一次玩这个项目的时候不会 Go 语言,但是参考这个项目写一个 Python 版本的星图,所以我想已经入门 Go 的各位肯定也能看懂。

怎么获得优质回答_分享优质回答的经验_优质回答需要审核多久

有的小伙伴可能会说我没有开源项目、我的项目都没有 star 我学这个项目没用,我想了下确实是缺少些动力。如果抛开 GitHub 的 star 元素,还有一个适用更多场景的 Go 数据可视化项目:go-echarts。来吧,感受下数据的律动。

优质回答需要审核多久_怎么获得优质回答_分享优质回答的经验

GitHub 地址→github.com/go-echarts/go-echarts3.2 来 Chat 下:gochatGitHub 地址→github.com/LockGit/gochat

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

怎么获得优质回答_分享优质回答的经验_优质回答需要审核多久

3.3 给!拿去用:annie

GitHub 地址→github.com/iawia002/annie

Go 编写的下载快速、使用简单、程序纯净的视频下载工具。支持哔哩哔哩、YouTube 等视频网站。可作为前段时间被封禁:youtube-dl 的替代品(目前已重新上架),它真的很强大!先感受下 annie 带来的便利,可能就有兴趣去探究它的源码啦。

$ annie -c cookies.txt https://www.bilibili.com/video/av20203945/
 Site:      哔哩哔哩 bilibili.com
 Title:     【2018拜年祭单品】相遇day by day
 Type:      video
 Stream:
     [default]  -------------------
     Quality:         高清 1080P60
     Size:            220.65 MiB (231363071 Bytes)
     # download with: annie -f default "URL"
 16.03 MiB / 220.65 MiB [==>----------------------------]   7.26% 9.65 MiB/s 19s

最后HelloGitHub想让更多人爱上编程、开源,所以一直在尝试、摸索如何可以帮助到更多的人。目前HelloGitHub 交流群已全面开放,关注HelloGitHub,添加:HelloGitHub001为好友入群,可同C、C++、Java、Go、Python、前端、机器学习等各界大佬谈笑风生、切磋技术~ 还有大学生开源群,叫上你的小伙伴一起感受开源的乐趣吧!目前HelloGitHub小程序已上线,可以直接搜索开源项目啦~

找开源项目就上 HelloGitHub 这里有 GitHub 上有趣入门级的开源项目。


本文由转载于互联网,如有侵权请联系删除!