golang基础知识
文章平均质量分 84
拔剑纵狂歌
这个作者很懒,什么都没留下…
展开
-
Golang——逃逸分析
逃逸分析的目的是为了确定对象分配到了堆上还是分配到了栈上。有了逃逸分析,我们可以非常方便地返回函数里面的变量,这方便了我们的开发,但也有可能会造成我们程序的性能下降。因为分配到堆上的变量,需要GC进行回收。而GC运行的时候,会发生STW。所以,我们要减少不合理的逃逸现象,减轻GC的负担。原创 2024-08-05 08:55:54 · 672 阅读 · 0 评论 -
Golang——channel
channel是Go在语言层面提供的协程间的通信方式。通过channel我们可以实现多个协程之间的通信,并对协程进行并发控制。原创 2024-06-18 17:06:37 · 611 阅读 · 1 评论 -
Go语言-切片底层探索 —— 补充篇:切片和底层数组到底是什么关系?
在这篇博客中,我们主要讲解切片和底层数组之间的关系,并且通过切片的三种创建方式来进行详细的说明。我们在使用切片的时候,一定要注意切片扩容后,其底层指向的数组会发生变化,对切片的修改将不再作用与原来的底层数组。原创 2024-06-02 11:18:49 · 962 阅读 · 1 评论 -
Golang — map的使用心得和底层原理
map作为一种基础的数据结构,在算法和项目中有着非常广泛的应用,以下是自己总结的map使用心得、实现原理、扩容机制和增删改查过程。原创 2024-05-12 21:46:29 · 1178 阅读 · 4 评论 -
Go语言中的锁与管道的运用
Golang解决数据竞争和并发访问的两种常见方案:加锁和管道。原创 2024-03-13 16:15:41 · 891 阅读 · 0 评论 -
GO语言-切片底层探索(下)
本文讲解切片的底层数据结构和扩容机制原创 2024-03-11 15:41:31 · 966 阅读 · 0 评论 -
GO语言-切片底层探索(上)
本文通过一道算法题,引出Go语言中切片的底层实现,即切片是引用类型,会进行引用传递;切片会随着元素数量的增加,进行扩容,改变其的底层数组的指向。原创 2024-03-11 13:11:59 · 824 阅读 · 0 评论 -
Golang——GC原理
本文只要讲解GC原理,涉及垃圾回收的目的、过程、触发时机和性能优化。原创 2024-08-03 15:09:31 · 475 阅读 · 0 评论 -
Golang内存管理——堆分配
内存分配是Go语言的基础,涉及的内容比较多,关联操作系统、用户程序、GC垃圾回收等部分,是一个大难点。原创 2024-08-03 14:57:13 · 938 阅读 · 0 评论 -
Golang异常处理机制
go语言使用error来处理错误,用panic和recover来处理异常。原创 2024-07-07 17:23:17 · 652 阅读 · 0 评论 -
Golang并发控制的三种方案
本文主要介绍golang中三种常见的并发控制手段:channel、waitgroup、context原创 2024-06-18 18:30:11 · 1092 阅读 · 0 评论