
Golang
文章平均质量分 60
多
Voryla
这个作者很懒,什么都没留下…
展开
-
Go 源码阅读:sync.Pool
sync.Pool管理一组可以单独保存和检索的临时对象。目的是缓存已分配但未使用的对象,以供以后重用,从而减轻GC的压力。核心就是Put、Get和New。原创 2022-12-01 13:03:07 · 232 阅读 · 0 评论 -
Go语言逃逸分析
在C或C++语言中,当函数返回了一个栈上的对象指针,在函数执行完成,栈被销毁 后,继续访问被销毁栈上的对象指针,导致出现问题。Go语言能够通 过编译时的逃逸分析识别这种问题,自动将该变量放置到堆区,并借 助Go运行时的垃圾回收机制自动释放内存。编译 器会尽可能地将变量放置到栈中,因为栈中的对象随着函数调用结束 会被自动销毁,减轻运行时分配和垃圾回收的负担。在Go语言中不管是字符串、 数组字面量,还是通过new、make标识符创建的对象,都既可能被分配 到栈中,也可能被分配到堆中。原创 2022-10-20 14:20:40 · 284 阅读 · 0 评论 -
Go中main.main的启动流程:一图流
Go中main.main的启动流程原创 2022-10-18 14:26:23 · 249 阅读 · 0 评论 -
Go Channel (底层实现逻辑)
Go Channel (底层实现逻辑)原创 2022-06-24 13:59:03 · 508 阅读 · 0 评论 -
Go Slice的扩容机制
Go Slice的扩容机制原创 2022-06-23 14:57:46 · 1952 阅读 · 0 评论 -
GO语言接口数据结构
接口 接口的底层结构 runtime\runtime2.go.iface 是带方法签名的接口在运行时的具体结构 // 是带方法签名的接口在运行时的具体结构 type iface struct { // 存储接口的类型、动态数据类型、动态数据类型的函数指针 《重点》 tab *itab // 存储了接口中动态类型的函数指针 data unsafe.Pointer } 接口底层结构的完整图像 type itab struct { inter *interfacetype //原创 2022-04-24 10:18:25 · 666 阅读 · 0 评论 -
Go 1.18 新特性尝鲜:泛型
Go 1.18 新特性尝鲜:泛型 文章目录Go 1.18 新特性尝鲜:泛型引言GO 中泛型的语法泛型使用基本使用指定类型参数调用通过interfac进行类型约束 引言 GO 团队在今天发布了 go 1.18 的正式版,今天我们就GO的新特性:泛型 进行简单的尝鲜使用。 GO 中泛型涉及到两个关键词:类型参数、类型约束 GO 中泛型的语法 以下示例中 [] 类型参数type0、type2,其中type0受可比较类型约束 ,type1 受 int64 或 float64 类型约束。 func funcName[原创 2022-03-16 10:31:32 · 453 阅读 · 0 评论