HelloGitHub- dried fish & marinated eggs
The story begins in 2007. Fed up with the suffering of C++, Google’s chief software engineer Rob Pike called Robert Griesemer and Ken Thompson to create a new language to replace C++, and that’s where Go came from.
Google officially released the Go programming language on November 10, 2009. Go inherits similar expression syntax, control flow structure, basic data types, call parameter values, Pointers, and many other ideas from C, as well as the efficiency of compiled machine code and the seamless adaptation of existing operating systems that C has always looked at.
Golang project address: github.com/golang/go
After more than 10 years of development, the latest version of Go has reached 1.15.5 when it was finalized on November 17, 2020. At the same time, foreign companies such as Twitter, Google and Netflix and domestic companies such as bytedance, Tencent and website B are using Go to develop their main business. For example, TiDB of PingCAP, the main product of NewSQL database manufacturer, is using Go to develop. It has become a well-known Go open source project on GitHub. It can be seen that Go is playing an increasingly important role in the development of Internet companies and is also very active in the open source community.
Is it too late for newbies to “get on”? What fun, entry-level Go projects are available on GitHub?
HelloGitHub: Open Source Projects for Beginners on GitHub
- C + + article
- Python article
- Go article
- Java article
- JavaScript article
This is Go. The following open source projects are selected from the HelloGitHub monthly. As Rob Pike, the father of the Go language, said, “Less is more or Less is Less.” This article also follows this principle: The main road is simple. Each of the following open source Go projects can serve as a beginner’s learning project on its own, and together they can provide you with a more comprehensive understanding of Go — 1 + 1 > 2.
Talking is cheap, Let’s Go 🚗
Part One: Master led the way
1.1 The Real Getting Started Guide: the way-to-go_zh_cn
Making address – github.com/unknwon/the…
The Open source book “The Way to Go” is a foreign book “The Way to Go” which was translated by a Golang evangelist who was suffering from The lack of good Go language books in China at that time. Through the collection and arrangement of official online documents, celebrity blogs, books, relevant articles and speeches, and combined with my own teaching experience in software engineering, programming language and database development, the book organizes these fragmentary knowledge points into a systematic concept and technical classification to explain.
The book will start with the most basic concepts, but it will also discuss things like how many different patterns there are for using Goroutine and channels, how to use the Google API in Go, how to manipulate memory, Advanced concepts and techniques on how to test programs in Go and how to use templates to develop Web applications.
Go to github.com/unknwon/the…
Learn Go Web programming from scratch: build-web-application-with-Golang
Making address – github.com/astaxie/bui…
Go Web Programming is an open source book that teaches you from scratch how to install and configure the Go environment, basic syntax, and all aspects of Go Web development. With a book in hand, I can Go Web. Of course, no matter how good the book is, it is also “master leads the door, practice depends on individual ah! “
Go to github.com/astaxie/bui…
Part Two: One more floor
2.1 seven days to Go from zero series: 7days-golang
Making address – github.com/geektutu/7d…
Use Go to write a: Web framework, distributed cache, ORM framework, RPC framework practical tutorial. Some things to understand, not necessarily will use, will not use their own out. So write a framework from zero, understand the details of it, to really understand it.
Read online →geektutu.com/post/gee.ht…
2.2 Go learning roadmap: Golang-developer-roadmap
Making address – github.com/Alikhll/gol…
The Go Developer Roadmap is a learning route for becoming a Go developer. A picture is worth a thousand words. This project is selected to enable people to quickly understand the knowledge points needed to learn and the direction of Go.
Advanced go-programming-book
“Go Language Advanced Programming” as for some Go basic advanced books, the content covers concurrency, GOC programming, Go assembly language, RPC implementation, Web framework implementation, distributed system and other high-level topics. The book’s appendix is also a highlight, with interesting snippets of Go code and common Go pits. To play Golang well, you need to work hard at Go advanced programming [manual dog head]
Making address – github.com/chai2010/ad…
Read online →chai2010.cn/advanced-go…
Part Three: It’s time to show the real technology
3.1 starcharts: starcharts
Making address – github.com/caarlos0/st…
The project visualized the growth curve of the Star on GitHub, creating a “star map.” This project is recommended to run a simple and intuitive data visualization, so that you can quickly feel the convenience brought by the Go open source project. I didn’t know the Go language when I first played this project, but I wrote a Python version of the star map based on the project, so I’m sure those of you who have already started Go will be able to read it.
Some friends may say that I do not have an open source project, and my project does not have star. It is useless for me to learn this project. I think it is really lack of some motivation. Aside from the Star element at GitHub, there’s also a Go data visualization project for more scenarios: Go-Echarts. Come on, feel the pulse of the data.
Making address – github.com/go-echarts/…
3.2 来 Chat 下:gochat
Making address – github.com/LockGit/goc…
Gochat is a lightweight instant messaging system implemented purely in Go. The technology between the layers through RPC communication, using Redis as the carrier of message storage and delivery, relatively Kafka operation is more convenient and fast. Discovery between layers based on ETCD services will be much easier during expansion deployment. Structure, directory structure clear, detailed documentation. It also provides a Docker one-click build, which is very convenient to install and run.
3.3 give! Here you go: Annie
Making address – github.com/iawia002/an…
Go write download fast, simple to use, pure program video download tool. Supports bilibili, YouTube and other video websites. Available as a previously blocked alternative to youtube-DL (now back on the shelves), it’s really powerful! Feel the convenience Annie brings first, may be interested to explore its source code.
$Annie - c cookies. TXT Site https://www.bilibili.com/video/av20203945/ : bi li bi li bilibili.com Title: Day by Day Type: Video Stream: [default] ------------------- Quality: 1080P60 Size: 220.65 MiB (231363071 Bytes) # download with: Annie - f the default "URL" MiB / 220.65 16.03 MiB [= = > -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --] 7.26% 9.65 MiB 19 s/sCopy the code
The last
A few GitHub moguls:
- Astaxie: thank you
- Unknwon: no smell
- Polaris1119: polarisxu, Go Chinese language webmaster
- Appleboy, chai2010
Why didn’t you write a profile? I am only a small follower and only know about their projects on GitHub. The rest is hearsay and should not be written. There are plenty of GitHub contributors out there, but don’t hit me if you don’t write about it. Because you don’t recommend projects on HelloGitHub? 😢