Code Monkey home page Code Monkey logo

golang-learning's Introduction

Go语言学习入门路线

写在前面

这篇文章是我自己亲身经历这样去学go的,本人是从20年的10月份开始入坑go语言的,当时的资料真的少,现在关于go语言的资料已经很多了。 我就在把我自己的学习路线稍微梳理一遍,我个人觉得,学完之后,像深信服,b站,得物什么的应该是没什么问题, 但如果是字节,腾讯,阿里这种就除了一些硬性条件之外,自己再刷多点题,背多点八股了。

全部练习项目都在github这个仓库中https://github.com/CocaineCong/Golang-Learning

适合大一、大二、或是其他语言转go的同学

这些是提升自己业务能力的一个方法流程,但是如果是要做工作、实习的话,还是另外的流程去学习,不单单是这个,为什么我精通curd ?还找不到工作? 这个我们下一次再总结说说,因为这些其实只是入门而已,只是扩展我们的广度,还没能很好的深入学习。

交流学习

大家可以把自己的想法或代码 pr 到对应的目录下面,注意命名即可

比如说 1.基础语法/案例/xxx(github的名字)_第N轮

1. 【第一轮】基础部分

1.1 教程

Go语法这方面一定要注重好基础,比如数组,切片,map,chan这种基础的数据类型。

语法入门可以看这个 入门教程,主要是挺新的这个教程。

在这里插入图片描述

建议有基础的同学直接看这个 提升视频

在这里插入图片描述

附上我自己做的思维导图 请添加图片描述

1.2 练习

可以选择 PTA 上面的题目来进行练习。

PTA练习

在这里插入图片描述

我的 Go语言入门 60题 专栏。入门60题

在这里插入图片描述

2. 【第二轮】网络爬虫

2.1 教程

用 go 去做爬虫,主要是为了了解http的请求与响应,了解 web中参数的传递,页面的布局,点击逻辑等等... 为之后的web开发奠定基础用的。

同样的,我们也可以学习到并发爬虫,这样也用到了我们go语言天生支持高并发的特性。

这个是我录制的一个关于Go语言爬虫的练习 Go语言爬虫

在这里插入图片描述 对应的案例的代码也放在了github上 GitHub案例

这个是我自己写的关于爬虫的一个思维导图的总结。 请添加图片描述

2.2 mod 管理第三方包

到这里之后,我们可能会用到第三方的工具包,这时候我们就要用go mod去管理我们的第三方包文件了,而go mod如何去理解?

这个视频我觉得讲的很不错了:Go Mod理解

在这里插入图片描述

2.3 git 机制

那么我们之后还需要用到git,像git我们应该怎么学习呢? 我的建议是git一定要自己多用,多记录一些常用的命令。 教程的话,可以看看这个git教程:GIT教程

在这里插入图片描述

一开始用 git,我们可以先用熟 commit、push、pull 啥的,之后再用多一些在项目版本的管理上,之后我们就可以再学去做解决冲突

3. 【第三轮】备忘录

接下来就到我们的后端开发了,前面第一轮打好了基础第二轮懂了一些网站的请求与响应,接下来就可以进行开发了。

这一轮我们重点是放在规范上,比如命名规范,项目结构规范,接口定义规范,返回规范等等...

这一轮其实我们就做一个简单的备忘录而已。在熟悉规范的同时,以练带学,不断通过项目去学习框架,gin、gorm。

跟着敲就好了。

在这里插入图片描述

视频:gin+gorm备忘录 视频教程 Github地址:gin+gorm备忘录 源码

4. 【第四轮】商城 or 视频网站

当我学习完规范之后,我们就开始深入学习业务了,这时候我们就可以开始做一个大一点的项目,比如商城,视频网站之类的。

这个时候我们就可以去接触redis、docker这些比较流行的技术了。

在这里插入图片描述

视频链接

源码地址

5. 【第五轮】IM 即时通信

除了基础业务的处理之外,我们还要了解 websocket 通信,这个也是一个必不可少的技术。 在这里插入图片描述

视频地址 Github源码地址

6. 【第六轮】微服务

在学习完业务处理,ws处理之后,我们再开始微服务框架的学习。理解proto的作用,理解 rpc 的过程,服务发现,服务注册等等...

在这里插入图片描述 视频链接 Github源码地址

7.【第七轮】底层架构

在我们熟悉完上面的技术框架之后,我们有了广度,在我们有了广度的条件下,我们可以往其中一个方向进行深度的专研。

比如说 极客兔兔的手撕框架,可以自己找一个来实现。 这个就很完美了 极客兔兔链接 在这里插入图片描述

golang-learning's People

Contributors

cocainecong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

golang-learning's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.