Map的底层实现原理Go语言采用的是哈希查找表,并且使用链表法解决哈希冲突。另外在面试里面,一般问到Map都会问它是否是并发安全的。想要回答这类问题,只需要记住这一句话:Go语言提供的数据类型中...
Sync包sync.WaitGroup这个在并发编程方面很常用,基本多个goroutinesync.Once在编程的很多场景下我们需要确保某些操作在高并发的场景下只执行一次,例如只加载一次配置文...
Channel原理上来先贴一段源码type hchan struct { qcount uint // 队列中的总元素个数 dataqsiz uint // 环形队列大小,即可存放元...
分析FirstOrCreate首先我们来看看它的源码:// FirstOrCreate finds the first matching record, otherwise if not fou...
锁GORM 支持多种类型的锁,例如:// 基本的 FOR UPDATE 锁 db.Clauses(clause.Locking{Strength: "UPDATE"}).Fi...