首页 > 其他分享 >Go开发如何入门

Go开发如何入门

时间:2024-08-28 14:57:30浏览次数:5  
标签:入门 性能 编程 Golang go 开发 Go 语言

针对go的学习,不同阶段采用的方式是不一样的。本文把go的学习分为入门、实战、进阶三个阶段。下面分开来说

一、社区

  1. Go语言中文网
  2. Go Forum
  3. Golang全课程学习
  4. GolangTC

、入门阶段

入门阶段的目标是学会go的基本语法和知识,能够使用go解决一些简单的问题。这个阶段不建议看书学习,效率太慢。这个阶段不追求知识广度,只要求能够快速上手就行。建议直接找一些介绍go的基础知识的视频课程来看。推荐一个比较经典的课程。

1、Go开发工程师零从入门到就业班

2、387集通俗易懂的Go语言教程

3、

4、大佬带你21周搞定Go语言

入门系列博客

1. 女朋友问我:小松子,你知道Go语言参数传递是传值还是传引用吗?

2. go-ElasticSearch入门看这一篇就够了

3. Golang开发新手常犯的50个错误

4. go module 使用教程

5. 使用go-swagger为golang API自动生成swagger文档

6. Go-kit微服务实战(1)- 搭建基本的三层架构

7. golang源码阅读之定时器以及避坑指南

8. Go 日常开发常备第三方库和工具

9. Golang 需要避免踩的 50 个坑

10. GO 语言学习资源整理

11. Go 语言实现 WebSocket 推送

12. 为什么很多公司都转型go语言开发?Go语言能做什么

13. Go 和 Rust 我都要!

14. Golang 实现轻量、快速的基于 Reactor 模式的非阻塞 TCP 网络库

5. Go 语言内存管理(二):Go 内存管理

16. 深入理解Go-垃圾回收机制

17. machinery入门看这一篇

、实战阶段

这个阶段主要是要增加自己的知识广度,这个阶段就要多看书多做项目,理论和实践相结合,提升自己的理论水平和实战经验。

关于书籍方面,推荐如下基本

1、Go语言精进之路(豆瓣评分9.0)

比较经典的一本书,书中包含了大量的编程指导和实践经验,比较适合刚入门的人,本书从Go语言设计者的视角对Go背后的设计哲学和编程思想进行了梳理和分析,指引读者体会那些看似随意实则经过深思熟虑的设计背后的秘密。

2、Go语言编程之旅:一起用Go做项目(豆瓣评分8.6)

本书对项目开发、细节分析、运行时分析等核心内容进行了较为深入的剖析,提供了相对完整的项目实践经验,对于项目实战有相当大的帮助。

3、Go Web 编程(豆瓣评分8.1)

本书围绕一个网络论坛 作为例子,教授读者如何使用请求处理器、多路复用器、模板引擎、存储系统等核心组件去构建一个 Go Web 应用,然后在该应用的基础上,构建出相应的 Web 服务。

关于教学课程方面的推荐

1、

2、Go语言实战开发企业级分布式云存储系统

3、

4、

5、

这几个视频课程都是关于项目实战方面的,没什么好介绍的,跟着课程把里面的项目实战都实践一遍,对提升编程技能很有帮助。

关于项目方面的推荐

1、flipped-aurora/gin-vue-admin

这个开源项目是gin+vue搭建的(中)后台系统框架,适合有一定编程基础的编程爱好者实践,也适合已经工作的 Go 工程师学习

2、awesome-go

从名字就可以看出它也是 awesome 系列的一员,这个仓库涵盖的项目非常全面,涵盖认证授权、持续集成、电子邮件、游戏开发,图形界面开发、命令行......。非常的全面!

3、aceld/zinx

基于Golang轻量级TCP并发服务器框架,适合具有一定基础的 Go 语言学习者

实战方面博客推荐

  1.  Go内存泄漏?不是那么简单!

2. go语言之行--golang核武器goroutine调度原理、channel详解

3. 手把手教姐姐写消息队列

4. Golang 隐藏技能 -- 访问私有成员

5. 大神是如何学习 Go 语言之浅谈 select 的实现原理

6. 深入golang runtime的调度

7. Go源码:协程栈

8. 深度解密Go语言之sync.map

9. Go原理之上下文 Context

10. go并发之goroutine和channel,并发控制入门篇

11. golang 图像验证码

12. GO千万级消息推送服务

13. 深入golang之---goroutine并发控制与通信

14. 【Golang源码系列】五:锁的实现原理分析

15. Go原理之Channel解读

16. 深入理解go-channel和select的原理

17. GO 中 Chan 实现原理分享

18. Go 译文之通过 context 实现并发控制

19. 在Golang中各种永远阻塞的姿势

20. 图文结合,白话Go的垃圾回收原理

、进阶阶段

进阶阶段主要就是加深自己的知识深度,不仅要强化自己编程高阶技能,比如性能优化、项目选型架构等技能,更要提升自己的编程理论水品。这个阶段更多的就是要追求看书和学习一些比较难度较高的课程和项目。

关于书籍的推荐

1、Go专家编程(豆瓣评分9.0)

本书深入地讲解了Go语言常见特性的内部机制和实现方式,大部分内容源自对Go语言源码的分析,并从中提炼出实现原理。通过阅读本书,读者可以快速、轻松地了解Go语言的内部运作机制。

2、Go语言设计与实现(豆瓣评分8.7)

本书包含调试源代码、编译原理、数据结构、语言特性、常用关键字、并发编程、内存管理、元编程和标准库,几乎涵盖了Go语言从编译到运行的方方面面。通过阅读本书,读者不仅能够深入理解Go语言的实现细节,而且可以深刻认识设计背后的原理,同时提升阅读源代码的技能。

关于课程的推荐

  1. 深入Go底层原理-重写Redis中间件实战
  2. go微服务构建秒杀系统

     5、Go语言开发社区网站与高性能架构部署

     6、

这三门课程都涉及到了性能能优化方面的知识,对于了解go底层原理有较大的帮助。

关于进阶的博客的推荐

  1.  Go 应用的性能优化

2. 编写和优化Go代码

3. Go语言之pprof的性能调优”燥起来“

4. Go优化

5. Golang测试与性能调优

6. 一个调度系统的开发与性能优化

7.深入golang之---goroutine并发控制与通信

8.Go 译文之通过 context 实现并发控制

9. Go语言性能优化- For Range 性能研究

10. Go 程序性能分析 101

11. golang 使用pprof和go-torch做性能分析

12. 性能优化实战:百万级WebSockets和Go语言

13. Go 调用 Java 方案和性能优化分享

14. 字节跳动 Go RPC 框架 KiteX 性能优化实践

15. go pprof 性能分析

16. 多维度思考:如何提高项目的开发时间、提高安全性、提高运行速度,从多个维度带来的一些思考。 | Go主题月

17. GO性能优化小结

18. Go借助PProf的一次性能优化

19. Go语言项目性能优化实例剖析

20. Go语言性能优化-两数之和算法性能研究

21. Golang 反射性能优化

22. Golang的GC性能优化技巧

23. Go在迅雷P2P连通系统中的性能优化实践

标签:入门,性能,编程,Golang,go,开发,Go,语言
From: https://blog.csdn.net/2401_86530877/article/details/141367252

相关文章

  • 基于django+vue网上排课系统的设计与实现【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着教育信息化的深入发展,传统的手工排课方式已难以满足现代教学管理的高效性、灵活性和准确性需求。传统方法不仅耗时费力,还容易出现课程......
  • Java 入门指南:Java IO 设计模式
    Java设计模式是一组被广泛应用于Java程序设计中的解决常见问题的可复用设计方案。这些设计模式通过提供一套经过验证的面向对象的设计原则和思想,可以帮助开发人员更好地组织和设计他们的代码。在JavaIO中,并没有像创建型、结构型和行为型等常见的设计模式那样有明确的命......
  • c#入门篇5
    目录一、常量二、枚举 1、枚举类型和int以及string类型之间的转换2、注意事项强制转换(ExplicitCasting):Enum.Parse 和 Enum.TryParse: 三、结构定义方式:结构体使用 struct 关键字进行定义。结构体通常用于表示小型、轻量级的数据类型 值类型:结构体是值类型,这意......
  • 【FreeRTOS+CubeMX】入门(三)--文件结构与参数配置
    文章目录FreeRTOS文件组成和基本原理文件构成基础知识![请添加图片描述](https://i-blog.csdnimg.cn/direct/a7a87a1201a448bb9ffa1dcd1e58a8ab.png)FreeRTOS配置及功能裁剪configparamters参数讲解FreeRTOS文件组成和基本原理此文章将详细讲解FreeRTOS的文件结构......
  • FPGA第 7 篇,FPGA开发环境搭建,Altrea开发环境搭建,Quartus几个版本之间的区别,以Quartus/
    前言我们知道FPGA的应用领域非常广泛,包括但不限于以下,请看,而且未来应用前景也可以,几乎涵盖了所有涉及数字信号处理和技术实现的领域。上期我们介绍了FPGA的基础知识数字电路,请看,FPGA与数字电路https://blog.csdn.net/weixin_65793170/article/details/141363656?spm=10......
  • 2024-08-28:用go语言,给定一个从1开始、长度为n的整数数组nums,定义一个函数greaterCount
    2024-08-28:用go语言,给定一个从1开始、长度为n的整数数组nums,定义一个函数greaterCount(arr,val)可以返回数组arr中大于val的元素数量。按照以下规则进行n次操作,将nums中的元素分配到两个数组arr1和arr2中:1.第一次操作将nums[1]加入arr1。2.第二次操作将nums[2]加入arr2。3.对......
  • Spring Boot Web开发实践:请求与响应参数的使用方法
    主要介绍了请求响应的简单参数、实体参数、数组集合参数、日期参数、路径参数等各自的使用方法!!!文章目录前言Postman简单参数原始方式 SpringBoot方式实体参数数组集合参数日期参数 路径参数总结前言主要介绍了请求响应的简单参数、实体参数、数组集合参数......
  • Go语言中JSON标签的用法与技巧
    在Go语言中,JSON标签(JSONtags)是用来指定结构体字段在序列化为JSON时的名称和行为的。JSON标签通常写在结构体字段的后面,用反引号(`)括起来。以下是一些常用的JSON标签:json:"field_name":指定JSON对象中的字段名。例如:typePersonstruct{Namestring`json:"name"`Age......
  • 四博智联ESP32-C6系列视频开发教程
    模组购买:https://item.taobao.com/item.htm?id=779505054090&开发板:https://item.taobao.com/item.htm?&id=800810222176&1.四博智联ESP32-C6系列视频开发教程---ESP32C6介绍1.四博智联ESP32-C6系列视频开发教程---ESP32C6介绍2.四博智联ESP32C6如何使用内置jtag在线......
  • 2024鸿蒙开发【面试题库】,转岗看这一篇就够了【收藏篇】
    鸿蒙面试浪潮来袭,你是否也想着利用这次机会去实现,跳槽涨薪的梦呢?如果关注了华为鸿蒙的人应该知道:鸿蒙开发岗位需求飙升6倍!可想而知该岗位前景多么广阔,为此就为大家整理些(鸿蒙HarmonyOS)开发岗位面试题。面试题目页面和组件的生命周期,及其流程@Entry装饰的页面和Naviga......