「9」Go reflect ~ DeepEqual
今天无意中看到Go101发了一个推特:
1 | package main |
输出结果?? :true:true:false
今天无意中看到Go101发了一个推特:
1 | package main |
输出结果?? :true:true:false
好久没有更新文章了,表达能力生疏了许多😄....
今天扯扯:rwmutex 被称为读写锁。一说到【锁】最直接的联想可能就是lock()、Rlock()、unlock()、Runlock()之类的,但是作为程序猿,还是要了解下底层的设计和相关的逻辑实现,以便于把这种锁的设计思想应用到其它场景中,好了,不废话了,开题吧。
从锁的结构设计-->加锁的过程--->加锁的粒度---->解锁释放,整个生命周期来看rwmutex的具体实现。
1 | ◯ go version |
Package context defines the Context type, which carries deadlines, cancellation signals, and other request-scoped values across API boundaries and between processes.
主要掌握四个方法的使用
1 | WithCancel |
要用下面的方法,先了解下部分结构和逻辑:
既然context全部都是和取消相关的,最起码Go在设计时会有这么一个结构。