Article directory
write in front
This article is my own experience of learning go in this way. I
20年的10月份
started to learn go language from the beginning. There was really little information at that time, and now there is a lot of information about go language.
I'm just sorting out my own learning route a little bit. I personally think that after I finish learning, it should be no problem to get things like Sang convinced, station b, etc., but if it is字节,腾讯,阿里这种就除了一些硬性条件之外,自己再刷多点题,背多点八股了。
All exercise projects are in the github repositoryhttps://github.com/CocaineCong/Golang-Learning
Suitable for freshmen, sophomores, or students who switch to go from other languages
1. [First round] Basic part
1.1 Tutorial
Go syntax must pay attention to the basics, such as basic data types such as arrays, slices, maps, and chan.
For grammar entry, you can see this introductory tutorial , which is mainly a very new tutorial.
Attached is my own mind map
1.2 Exercise
You can choose the topics on the PTA to practice.
My 60-question column for getting started with the Go language. Getting Started 60 Questions
2. [Second round] Web crawler
2.1 Tutorial
The main purpose of using go as a crawler is to 了解http的请求与响应
understand the transmission of parameters in the web, the layout of the page, the click logic, etc... It is used to lay the foundation for subsequent web development.
Similarly, we can also learn concurrent crawlers, which also use the features of our go language 天生支持高并发
.
This is an exercise I recorded about Go language crawler Go language crawler
The code of the corresponding case is also placed on github. GitHub case
This is a summary of a mind map I wrote about crawlers.
2.2 mod manages third-party packages
After getting here, we may use third-party toolkits. At this time, we will use go mod to manage our third-party package files. How does go mod understand?
I think this video is very good: Go Mod Understanding
2.3 git mechanism
Then we need to use it later git
, like git
how should we learn?
My suggestion is that git must use it by itself and record some commonly used commands.
For tutorials, you can take a look at this git tutorial: GIT Tutorial
At the beginning of using git, we can use commit, push, pull, etc., and then use more 项目版本的管理
, and then we can learn to do it 解决冲突
.
3. [Third round] Memorandum
Next, we come to our back-end development, the front 第一轮打好了基础
, 第二轮懂了一些网站的请求与响应
, and then we can develop.
This round we focus on specifications, such as naming specifications, project structure specifications, interface definition specifications, return specifications , etc...
This round is actually just a simple memo. While familiar with the specification, 以练带学
, continue to learn the framework, gin, gorm through the project.
Just follow along.
Video: gin+gorm memo video tutorial
Github address: gin+gorm memo source code
4. [Fourth round] Mall or video site
After I finished studying the specifications, we started to study the business in depth. At this time, we could start to do a larger project, such as a mall, a video website and so on.
At this time, we can contact the more popular technologies such as redis and docker.
5. [Fifth round] IM instant messaging
In addition to the processing of basic business, we also need to understand websocket communication, which is also an essential technology.
Video address
Github source address
6. [Sixth round] Microservices
After learning business processing and ws processing, we will start learning the microservice framework. Understand the role of proto, understand the process of rpc, service discovery, service registration, etc...
Video link
Github source code address
7. [Seventh round] The underlying architecture
After we are familiar with the above technical framework, we have breadth, and under the condition that we have breadth, we can conduct in-depth research in one of the directions.
For example, for Geek Tutu's hand-tear frame, you can find one by yourself to implement it.
This is perfect geek bunny link
These are a method and process to improve your business ability, but if you want to do work or internship, you should learn from another process, not only this, 为什么我精通curd ?还找不到工作?
we will summarize this next time, because these are actually just introductions, just Extending our breadth, we haven't been able to do deep learning very well.