
Golang
文章平均质量分 76
Golang后端开发学习之路。
YGGP
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Go 语言高级编程:面向并发的内存模型与常见的并发模式
基于《Go 语言高级编程》的第1.5节和第1.6节,对Golang当中面向并发的内存模型以及常见的并发模式进行学习。这篇文章仅做个人学习记录以及分享心得感悟体会之用。原创 2025-06-26 08:02:51 · 733 阅读 · 0 评论 -
吃透 Golang 基础:测试
基于「《Go 语言圣经》第十一章——测试」,对 Golang 测试相关的内容进行梳理。主要介绍了 Golang 内置的测试工具 go test 以及三种测试函数:Test/Bench/Example。在“剖析”这一节当中,我们还介绍了如何结合 go test 和 pprof 工具对 go 的 net/http 包的 CPU 使用情况进行基准测试分析。原创 2025-06-23 16:15:16 · 994 阅读 · 0 评论 -
吃透 Golang 基础:包管理
基于「《Go 语言圣经》第九章——包管理」对 Golang 的包以及包管理的相关概念进行学习。原创 2025-06-21 12:12:04 · 794 阅读 · 0 评论 -
吃透 Golang 基础:基于共享变量的并发
基于「《Go 语言圣经》第九章——基于共享变量的并发」,对 Golang 的 sync.Mutex 相关的知识及用法进行回顾。在这一节的最后,详细地探讨了 Goroutine 与操作系统线程之间的区别。原创 2025-06-21 02:12:08 · 728 阅读 · 0 评论 -
吃透 Golang 基础:Goroutine
基于《Go 语言圣经》对 Golang Goroutine 以及 Channel 的相关内容进行系统性的回顾。原创 2025-06-19 21:50:38 · 1151 阅读 · 0 评论 -
吃透 Golang 基础:接口
基于《Go 语言圣经》的第七章——接口,作为参考资料,系统性地复习 Golang 语法中接口(Interface)相关的知识。包括接口的定义、接口类型、如何实现一个接口(一个类型实现了接口所需的所有方法,那么它就实现了这个接口)、接口值(包括动态类型和动态值)、类型断言(包括接口的类型断言,需要注意的是如果 x.(T) 中的 x 和 T 都是接口类型,那么 T 断言的是 x 的动态类型,返回的是一个 T 的接口类型)以及类型断言的应用。原创 2025-06-16 16:11:51 · 1112 阅读 · 1 评论 -
吃透 Golang 基础:方法
基于《Go 语言圣经》第六章:方法,对 Golang 语法当中的“方法”进行系统性地复习。包括如何声明一个类型的方法、方法的底层实现仍然是函数(因此方法本质上是 Golang 的语法糖)、方法的值接收器与指针接收器以及 Golang 编译器对二者调用时的隐式转换、通过类型嵌入使得某个类型拥有另一个内嵌类型的方法,以及 Golang 的封装(基于大写字母标识从而将函数/类型/结构/结构的成员导出到包外,包确定了 Golang 中类型与成员可见性的范围)。原创 2025-06-14 18:21:55 · 957 阅读 · 0 评论 -
吃透 Golang 基础:函数
参考《Go语言圣经》系统性地整理 Golang 函数相关的语法及注意事项,重点包括函数的定义与使用、函数的递归、Go 函数的多返回值、函数调用链当中的错误处理、函数闭包与函数值、可变参数函数、defer、panic 和 recover。原创 2025-06-13 15:25:27 · 1151 阅读 · 0 评论 -
吃透 Golang 基础:使用 encoding/json 实现 Golang 数据结构与 JSON 对象的转换
根据《Go 语言圣经》复合数据类型当中 JSON 这一章的内容,整理 Golang 当中与 JSON 对象进行交互的简单方法,最后补充了一个在 Gin 框架当中使用 c.ShouldBindJSON 和 c.JSON 解码和编码 JSON 对象的例子。原创 2025-06-06 11:28:05 · 1081 阅读 · 0 评论 -
吃透 Golang 基础:数据结构之 Struct
根据《Go 语言圣经》整理 Golang 数据结构中 struct 的知识以及相关的注意事项。最后通过 LeetCode 146. LRU Cache 系统地运用 map 和 struct 的知识。原创 2025-06-04 05:54:39 · 706 阅读 · 0 评论 -
吃透 Golang 基础:数据结构之 Map
根据《Go 语言圣经》整理 Golang 当中的 Map 数据结构。原创 2025-06-03 15:56:55 · 1034 阅读 · 0 评论 -
吃透 Golang 基础:数据结构之切片
对 Golang 数据结构当中切片的知识进行学习与回顾。原创 2025-05-22 08:22:17 · 952 阅读 · 0 评论 -
吃透 Golang 基础:数据结构之数组
对 Golang 基础进行复习与回顾,今天的主要内容是 Golang 数据结构之数组。原创 2025-05-20 20:22:48 · 840 阅读 · 0 评论 -
浅析 Golang 内存管理
浅析 Golang 的内存管理,并对 Golang 的内存逃逸和内存泄漏进行了解学习。原创 2025-05-15 00:16:08 · 1251 阅读 · 3 评论 -
关于 Golang GC 机制的一些细节:什么是根对象?GC 机制的触发时机?
对 Golang GC 的三色标记法进行简单回顾,同时深挖了与 GC 相关的两个细节。第一个细节是 GC 初始化时的根对象指的是什么?主要包括 Goroutine 的局部变量和参数,以及全局变量。第二个细节是 GC 的触发时机?主要分为四个时刻,第一个时刻是当堆内存增长到一定比例时触发;第二个时刻是当调用 runtime.GC() 时触发;第三个时刻是当 goroutine 发现很长时间没有执行 GC 时触发;第四个时刻是当堆内存当中碎片化内存较多时触发。原创 2025-05-14 23:06:00 · 892 阅读 · 0 评论 -
Golang 关键字相关知识回顾
参考 csview 当中的问题和答案对 Golang 关键字部分的知识进行总结和梳理。主要包括 slice/map/channel 已经 select 等。原创 2025-03-30 04:00:07 · 960 阅读 · 0 评论 -
Golang 的垃圾回收机制
Golang 的垃圾回收机制。原创 2025-03-28 22:55:08 · 374 阅读 · 0 评论 -
Golang 的 GMP 调度机制常见问题及解答
Golang 的 GMP 调度机制常见问题及解答原创 2025-03-28 22:17:25 · 1154 阅读 · 0 评论 -
Golang 当中 byte 和 rune 类型的区别
Golang 当中 byte 和 rune 类型的区别原创 2025-03-28 22:35:08 · 667 阅读 · 0 评论 -
【每日八股】Golang篇(五):垃圾回收
根据 csview 整理 golang 垃圾回收部分的八股。原创 2025-03-12 02:38:40 · 430 阅读 · 0 评论 -
【每日八股】Golang篇(四):GMP
根据 csview 整理 golang GMP 部分的八股文。原创 2025-03-12 02:21:35 · 958 阅读 · 0 评论 -
【每日八股】Golang篇(三):关键字(下)
根据 csview 对 Golang 关键字的八股文进行整理。原创 2025-03-10 14:26:44 · 2254 阅读 · 0 评论 -
【每日八股】Golang篇(二):关键字(上)
根据 csview 对 golang 关键字部分的八股文进行整理。原创 2025-03-09 20:13:24 · 830 阅读 · 0 评论 -
【每日八股】Golang篇(一):概述
根据 csview 当中的问题整理 golang 语法层面上的八股。原创 2025-03-09 03:29:34 · 961 阅读 · 0 评论 -
【Go语言圣经】第八节:Goroutines和Channels
对《Go语言圣经》的第八节:Goroutines 和 Channels 进行阅读、学习和记录。原创 2025-02-08 08:15:36 · 1057 阅读 · 0 评论 -
【Go语言圣经】第七节:接口
对《Go语言圣经》第七节:接口,进行阅读、学习和记录。原创 2025-02-04 20:56:33 · 1153 阅读 · 0 评论 -
【Go语言圣经】第六节:方法
在函数声明时,在其名字之前放上一个变量,这就是声明了变量对应类型的一个方法,相当于为这种类型定义了一个的方法。上述代码中的 p,叫做方法的接收器(receiver)。在 Golang 当中,不会像其他语言那样使用 this 或 self 作为接收器,。需要注意的是,此处的p.Distance是方法的调用,我们当然可以声明一个Distance同名函数,接受p和q作为参数,计算二者之间的距离。函数和方法是不冲突的,可以同时调用。但是需要注意的话,如果我们声明了一个名为X。原创 2025-01-31 13:49:00 · 1384 阅读 · 0 评论 -
【Go语言圣经】第五节:函数
对《Go语言圣经》第五章:函数,进行阅读、学习和记录。原创 2025-01-29 12:48:56 · 1667 阅读 · 1 评论 -
【Go语言圣经】第四节:复合数据类型
对《Go语言圣经》的第四章:复合数据类型,进行阅读、学习和记录。原创 2025-01-28 23:55:33 · 1569 阅读 · 0 评论 -
【Go语言圣经】第三节:基础数据类型
对 《Go语言圣经》的第三章:基础数据类型,进行阅读、学习和记录。原创 2025-01-21 03:54:04 · 1003 阅读 · 0 评论 -
【Go语言圣经】第二节:程序结构
对《Go语言圣经》的第二节:程序结构,进行阅读、学习和记录。原创 2025-01-21 03:16:17 · 1068 阅读 · 0 评论 -
【Golang】使用Go实现广度优先搜索,并应用于解决迷宫问题
使用 Golang 实现广搜,并解决迷宫问题。原创 2024-12-17 14:00:55 · 351 阅读 · 0 评论 -
【Golang】Go语言编程思想(六):Channel,第六节,并发编程模式
对 Golang 的 channel、select机制进行复习,并基于 channel 的并发编程实现非阻塞等待、超时机制、任务中断/退出以及优雅退出。原创 2024-12-11 14:31:18 · 1148 阅读 · 0 评论 -
【Golang】Go语言编程思想(六):Channel,第五节,传统同步机制
对 Golang 当中的传统同步机制进行了简单的了解。在实际使用的过程中,应该尽可能地避免在 Golang 当中使用传统同步机制,而是使用 Channel。原创 2024-12-11 10:48:15 · 337 阅读 · 0 评论 -
【Golang】Go语言编程思想(六):Channel,第四节,Select
对 Golang 的 select 进行学习和记录。Select 可以选择从当前哪个 channel 当中接收信息。原创 2024-12-11 10:32:48 · 635 阅读 · 0 评论 -
【Golang】Go语言编程思想(六):Channel,第三节,使用Channel实现树的遍历
使用 Golang 的 Channel 实现树的遍历,并简单地输出树中编号最大的结点。原创 2024-12-10 14:32:18 · 441 阅读 · 0 评论 -
【Golang】Go语言编程思想(六):Channel,第二节,使用Channel等待Goroutine结束
学习了如何使用 channel 来等待 goroutine 的结束,分别实现了顺序等待和并发时等待,并演示了如何用库 sync 当中的 WaitGroup 方法来完成并发控制。WaitGroup 主要包含 Add、Wait 和 Done 三种方法,Add 告知 WaitGroup 共有多少任务,Wait 再外部对协程进行等待,Done 在协程中执行,告知外部协程执行完毕。原创 2024-12-10 13:13:28 · 1023 阅读 · 0 评论 -
【Golang】Go语言编程思想(六):Channel,第一节,介绍Channel
对 Golang 的 Channel 进行学习记录。原创 2024-12-09 12:45:38 · 1247 阅读 · 0 评论 -
【Golang】Go语言编程思想(五):Goroutine
对 Golang 的 Goroutine 进行学习,并复习了协程的概念。原创 2024-12-09 11:42:02 · 1263 阅读 · 0 评论 -
【Golang】Go语言编程思想(四):测试与性能调优
对 Golang 的测试(主要是测试代码的编写格式以及表格驱动测试的样例写法)以及性能调优(pprof + web 生成可视化流程,方框越大、线越粗代表代码执行的时间越长)进行学习和记录。原创 2024-12-09 10:13:28 · 737 阅读 · 0 评论