2024你值得拥有,Go语言入门学习线路推荐

news2024/10/5 14:53:00

“小众”的编程语言的Go语言在今年2月成功挤进TOIBE排行榜前10,3月稳居第8名。从最低时的第122名,到现在第8名,Go 的身影越来越清晰。

其实它早已被广泛应用于云计算、大数据、区块链、微服务、游戏开发等领域,因而也有越来越多的人学习、转行Go 语言。

今天就整理一下关于Go语言,零基础应该如何学习,有需要的朋友可以参考一下。

一、Go 基础

01 基础路线

  • Go开发环境搭建
  • Go项目结构
  • Go基础语法入门
  • 冯诺依曼体系结构和程序关系
  • Go语言命名规范
  • 运算符和优先级
  • if和switch分支
  • for循环
  • continue
  • break、goto和Label
  • 转义字符和字符串
  • 字符串格式化
  • 线性表原理
  • 数组长度
  • 容量、修改、遍历
  • 数组内存模型
  • 切片长度
  • 容量和扩容策略
  • 常见线性数据结构对比
  • string库字符串操作
  • Map遍历、sort库排序
  • 函数定义和调用
  • 函数调用原理
  • 形参和可变参数
  • 返回值和作用域
  • 递归函数和效率
  • 结构体可见性
  • 结构体属性访问和修改
  • receiver和结构体方法
  • 深浅拷贝本质区别
  • 结构体构造函数
  • 面向对象编程
  • 封装和构造函数
  • 继承和覆盖
  • Go语言多态的实现
  • 对象的序列化和反序列化
  • 面向接口编程
  • 接口定义
  • 实现
  • 嵌入、包和模块化
  • 包管理机制
  • GoModules机制
  • Go数据库编程
  • SQLCRUD语句
  • SQLBuilder开发
  • ORM与GORM开发
  • Go操作MongoDB
  • Go网络和并发编程
  • 进程和线程
  • 线程状态机
  • 多线程并发模型
  • C/S编程模式
  • TCP服务器开发
  • IO模型
  • 探秘协程本质
  • GMP模型
  • Go并发与锁
  • ctx控制协程

02 基础书籍

《Go语言中文文档》

《Go语言学习笔记》

《Go语言趣学指南》

《Go语言编程》

《Go语言 101》

二、Go 进阶

01 进阶学习路线

  • HTTP标准库与框架Gin
  • Socket编程
  • JavaScript语法入门
  • Web入门
  • 前端MVVM框架VUE3实战
  • webUI实战
  • 微博客系统前后端
  • 前端项目导航页面实战
  • 实现多平台Web前后端扣页面平台可视化
  • 前端项目框架搭建
  • 基于HTTP的RPC
  • 基于Protobuf的RP
  • Protobuf编解码
  • GRPC流,Token认
  • 微服务事件通讯模型分析
  • go操作内存KV数据库
  • go操作内容KV数据库
  • go操作Reids
  • 封装缓存模块
  • etcd租约机制
  • 基于etcd的服务注册于发现实现
  • 分布式锁
  • 服务发现
  • web全栈开发:企业级微博客
  • 微服务开发:微服务研发云
  • 用户中心-中心化认证
  • 多云资产管理平台(云CMDB)
  • 微服务研发云平台:流水线项目
  • 资源同步于审计中心
  • 分布式CI/CD管理平台
  • 云原生容器编排
  • Kubernetes二次开发
  • 云原生监控Prometheus定制开发

02 进阶书籍

《Go专家编程》:https://books.studygolang.com/GoExpertProgramming/

《Go语言高级编程》:https://chai2010.cn/advanced-go-programming-book -

《Go并发编程》

三、 Go 学习网站

01、菜鸟教程:https://www.runoob.com/go/go-tutorial.html

02、Go 语言中文网:https://studygolang.com/articles

03、Go By Example 中文版:https://gobyexample-cn.github.io

04、Go面试题:http://www.topgoer.cn/docs/gomianshiti/mianshiti

05、跟着单元测试学习Go :https://github.com/quii/learn-go-with-tests

06、地鼠文档:https://www.topgoer.cn/

四、Go Web开发框架

  • beego:https://github.com/beego/beego
  • Echo:https://github.com/labstack/echo
  • gin:https://github.com/gin-gonic/gin
  • Iris:https://github.com/kataras/iris

 

以上就是本文的全部内容,希望各位大佬学的开心。

需要学习资源的也欢迎踢我,希望对大家有所帮助~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1528416.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

相比于 HTTP 协议,WebSocket协议的必要性体现在哪里?

HTTP 协议的一个缺点 从 HTTP 协议的角度来看,就是点一下网页上的某个按钮,前端发一次 HTTP请 求,网站返回一次 HTTP 响应。这种由客户端主动请求,服务器响应的方式也满足大部分网页的功能场景。但是有没有发现,在HTTP…

WiFi7为什么需要6G频谱

从5925MHz到7125MHz,整整1200MHz的频谱,都被分配给了WiFi7。非常得豪! 只是国内还没有这个东西。 为什么要这么宽的频谱呢? Intel作过实验,发现在日常的场合下 一定是3个320MHz宽的不重叠信道,方能达到AV/…

小游戏实战-Python实现石头剪刀布+扫雷小游戏

小游戏实战-Python实现石头剪刀布扫雷小游戏 我想说废话止于此石头剪刀布-入门必学游戏游戏规则实现思路示例代码知识要点运行效果 扫雷-内网摸鱼必备游戏游戏规则实现思路示例代码知识要点运行效果 进阶练习-走迷宫(预留)游戏规则预期效果 总结 我想说 …

算法第三十天-矩阵中移动的最大次数

矩阵中移动的最大次数 题目要求 解题思路 网格图 DFS 从第一列的任一单元格 ( i , 0 ) (i,0) (i,0) 开始递归。枚举往右上/右/右下三个方向走,如果走一步后,没有出界,且格子值大于 g r i d [ i ] [ j ] grid[i][j] grid[i][j],则…

Java使用itextpdf往pdf中插入图片

引入maven依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.9</version> </dependency>java代码 import cn.hutool.extra.qrcode.QrCodeUtil; import com.itextpdf.text.*; i…

华为携手8家企业打造“AI大模型+行业”生态网络 | 百能云芯

据媒体报道&#xff0c;在“大模型行业创新合作计划”签约仪式上&#xff0c;华为云携手循环智能、迪安诊断、零浩网络、云译科技、蓝青教育、航天天目、标普云、乐聚机器人等8家企业&#xff0c;共同开启了一段全新的合作旅程。 这次合作将聚焦于“AI大模型行业”的应用开发&a…

IP代理的认证方式和协议介绍

“IP代理是指使用固定的IP地址作为代理服务器进行代理访问的方式。在网络应用中&#xff0c;IP代理可以为用户提供更加稳定的代理服务&#xff0c;同时也提高了访问网站的安全性。IP代理的认证方式和协议是实现代理服务的重要组成部分。” 一、认证方式 1.用户名和密码认证&am…

RK平台第一次开机速度优化 “Large app, accepted running with swap.“

RK平台第一次开机速度优化 "Large app, accepted running with swap." 问题描述解决方法 郑重声明:本人原创博文&#xff0c;都是实战&#xff0c;均经过实际项目验证出货的 转载请标明出处:攻城狮2015 Platform: Rockchip OS:Android 6.0.1 CPU:3368 Kernel: 3.10 问…

Elasticsearch:使用 OpenAI、LangChain 和 Streamlit 的基于 LLM 的 PDF 摘要器和 Q/A 应用程序

嘿&#xff01; 您是否曾经感觉自己被淹没在信息的海洋中&#xff1f; 有这么多的书要读&#xff0c;而时间却这么少&#xff0c;很容易就会超负荷&#xff0c;对吧&#xff1f; 但猜猜怎么了&#xff1f; 你可以使用大型语言模型创建自定义聊天机器人&#xff0c;该模型可以帮…

重磅升级!P230焕新而来,支持双目SLAM+YOLO点击跟踪,算力高达100TOPS

全新升级的Prometheus 230科研无人机&#xff08;简称P230&#xff09;是一款专为科研工作者及开发者设计的小型&#xff08;250mm轴距&#xff09;无人机实验平台。机载计算机升级为算力100TOPS的Allspark2-Orin NX&#xff0c;结合Prometheus自主无人机开源项目和Prometheus专…

H4010耐压40V降压恒压芯片 40V降12V降5V 支持电流2.5A

H4010是一种内置30V耐压MOS&#xff0c;并且能够实现精确恒压以及恒流的同步降压型 DC-DC 转换器&#xff1b; 支持 1A 持续输出电流输出电压可调&#xff0c;最大可支持 100%占空比&#xff1b;通过调节 FB 端口的分压电阻&#xff0c;可以输出 2.5V到 22V 的稳定电压 。H4010…

一文快速掌握docker的理念和基本使用

写在文章开头 写于一个周末&#xff0c;在复盘梳理文章时候发现这一篇关于早期了解docker时记录的文档&#xff0c;仔细阅读了一下&#xff0c;为了保证文章更加清晰以便读者使用。故再次重新一次梳理一次&#xff0c;通过这篇文章&#xff0c;你将会对docker的基本理念和基础…

Machine Learning ---- Gradient Descent

目录 一、The concept of gradient&#xff1a; ① In a univariate function&#xff1a; ②In multivariate functions&#xff1a; 二、Introduction of gradient descent cases&#xff1a; 三、Gradient descent formula and its simple understanding: 四、Formula o…

GPIO和Pinctrl子系统的使用

一、 Pinctrl子系统 1、基本架构 现在的芯片动辄几百个引脚&#xff0c;在使用到GPIO功能时&#xff0c;让你一个引脚一个引脚去找对应的寄存器&#xff0c;说实话很烦。所以&#xff0c;要把引脚的复用、配置抽出来&#xff0c;做成Pinctrl子系统&#xff0c;给GPIO、UART等模…

2082.找单词

动态规划问题&#xff1a; 先声明两个数组&#xff1a; 数组 a&#xff1a;存储当前状态下&#xff0c;所有可能的单词价值总和的计数。在每次迭代开始时&#xff0c;我们使用 a 数组来跟踪包含当前字母之前的所有可能单词的价值总和。 数组 b&#xff1a;在处理每个字母时&a…

XMind for mac/Win:解锁思维新境界,让思维导图成为你的创意引擎

在信息爆炸的时代&#xff0c;如何高效地整理思绪、捕捉灵感&#xff0c;成为每个人都需要面对的挑战。而XMind&#xff0c;作为一款功能强大的思维导图软件&#xff0c;正以其独特的魅力&#xff0c;帮助无数用户解锁思维新境界&#xff0c;让思维导图成为他们的创意引擎。 无…

idea远程试调jar、远程试调war

idea远程试调jar、远程试调war 目的&#xff1a;测试运行时与ide开发时是否一致。 配置jar Maven中添加 <packaging>jar</packaging>将其打包为jar。 设置运行入口main 编译jar 看到jar输出 配置试调 添加jar运行 远程试调 先在源码中打好断点试调 debug运行…

String类型详解

1. Java为何要创造String类 在C语言中,是没有String这个类型的,通常使用字符数组中存放一个个字符,再加上最后一个\0来表示/存放一个字符串.也可以使用一个字符指针指向字符串的首元素,直到遇到\0停止,再加上C语言头文件string.h中封装的函数,对于字符串的操作已经够用了. Java…

Learn OpenGL 18 几何着色器

几何着色器 在顶点和片段着色器之间有一个可选的几何着色器(Geometry Shader)&#xff0c;几何着色器的输入是一个图元&#xff08;如点或三角形&#xff09;的一组顶点。几何着色器可以在顶点发送到下一着色器阶段之前对它们随意变换。然而&#xff0c;几何着色器最有趣的地方…

入门:Vue全家桶都有谁,分别肩负什么责任?

当使用Vue.js开发项目时&#xff0c;通常会使用Vue全家桶来提供完整的开发工具和功能。以下是Vue全家桶的各个部分的详细介绍&#xff1a; 项目构建工具 - Vue-cli&#xff1a; Vue-cli是Vue.js官方提供的脚手架工具&#xff0c;可以快速生成一个Vue.jswebpack的项目模板。它提…