Go函数调用惯例 时间: 2021-04-28 | 分类: go | 阅读: 2973 字 ~6分钟 Go函数调用惯例 本文旨在探讨Go函数中的一个问题:**为什么Go函数能支持多参数返回,而C/C++、java不行?**这其实牵涉到了一个叫做 阅读全文 »
CPU缓存体系对程序的影响 时间: 2021-04-28 | 分类: algorithm | 阅读: 6361 字 ~13分钟 CPU缓存体系对Go程序的影响 小菜刀最近在medium上阅读了一篇高赞文章《Go and CPU Caches》,其地址为https://teivah.m 阅读全文 »
Go的string与[]byte转换原理 时间: 2021-04-27 | 分类: go | 阅读: 4338 字 ~9分钟 string类型和[]byte类型是我们编程时最常使用到的数据结构。本文将探讨两者之间的转换方式,通过分析它们之间的内在联系来拨开迷雾。 两种 阅读全文 »
Go工具之vet静态诊断器 时间: 2021-04-27 | 分类: go | 阅读: 2056 字 ~5分钟 Go工具之vet——静态诊断器 go的vet工具是go代码静态诊断器,可以用以检查go项目中可通过编译但仍可能存在错误的代码,例如无法访问的代 阅读全文 »
不能忽略GoRoutinue的启动时间 时间: 2021-04-27 | 分类: go | 阅读: 2082 字 ~5分钟 不要忽略goroutine的启动时间 项目中需要将数据推给多个服务器,大致如下 package main import ( "fmt" "sync" ) func mockSendToServer(url string) { fmt.Printf("server url: %s\n", url) } func main() { urls := []string{"0.0.0.0:5000", "0.0.0.0:6000", "0.0.0.0:7000"} wg := sync.WaitGroup{} for _, url := range 阅读全文 »
深入理解sync.Once 时间: 2021-04-27 | 分类: go | 阅读: 1384 字 ~3分钟 深入理解sync.Once sync.Once是让函数方法只被调用执行一次的实现,其最常应用于单例模式之下,例如初始化系统配置、保持数据库唯一 阅读全文 »
数据库连接池 时间: 2021-04-27 | 分类: algorithm | 阅读: 1615 字 ~4分钟 数据库连接池 池(Pool)是指某类资源的容器,它是一种用于提高程序效率和降低系统开销的技术,比如线程池、连接池、内存池、对象池。但它们的核心 阅读全文 »
Go no copy 机制 时间: 2021-04-27 | 分类: go | 阅读: 1917 字 ~4分钟 no copy机制 小菜刀读Go源码时,发现一个高频注释语句“XXX must not be copied after first use“。例如sync包下的Pool、Cond、WaitGroup 阅读全文 »