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