随笔分类 -  golang

摘要:安装 go get -u github.com/fogleman/gg 这是它例子的大概效果图,可以看到,能实现的图形效果还是挺多的。 圆形图生成事例: package main import "github.com/fogleman/gg" func main() { dc := gg.NewCo 阅读全文
posted @ 2024-08-14 17:08 王鹏鑫 阅读(100) 评论(0) 推荐(0) 编辑
摘要:简介 看到一个有意思的库: SingleFlight是Go语言提供的一个扩展包。作用是当有多个goroutine同时调用同一个函数的时候,只允许一个goroutine去调用这个函数,等到这个调用的goroutine返回结果的时候,再把结果返回给这几个同时调用的goroutine,这样可以减少并发调用 阅读全文
posted @ 2024-05-17 18:34 王鹏鑫 阅读(149) 评论(0) 推荐(0) 编辑
摘要:解释定义: mheap:用于管理整个堆内存,mheap 管理多个arena,arena管理多个span,一个span由多个page组成,一个arena有8192个page,page由内存块组成 mspan:一个span对应一个mspan mcentral:mheap里有一个全局的mspan管理中心包 阅读全文
posted @ 2024-03-13 22:29 王鹏鑫 阅读(35) 评论(0) 推荐(0) 编辑
摘要:chan 1.chan数据结构 src/runtime/chan.go:hchan定义了channel的数据结构: type hchan struct { qcount uint // 当前队列中剩余元素个数 dataqsiz uint // 环形队列长度,即可以存放的元素个数 buf unsafe 阅读全文
posted @ 2023-11-29 17:53 王鹏鑫 阅读(162) 评论(0) 推荐(0) 编辑
摘要:先处理错误避免嵌套 尽量避免重复 重复的代码想办法用一个函数包起来 type binWriter struct { w io.Writer size int64 err error } // Write writes a value to the provided writer in little 阅读全文
posted @ 2023-11-22 16:48 王鹏鑫 阅读(11) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示