ToB企服应用市场:ToB评测及商务社交产业平台
标题:
Go语言Context包源码学习
[打印本页]
作者:
天津储鑫盛钢材现货供应商
时间:
2024-10-22 15:46
标题:
Go语言Context包源码学习
0媒介
context包作为利用go进行server端开发的重要工具,其源码只有791行,不包罗注释的话预计在500行左右,非常值得我们去深入探究学习,于是在本篇条记中我们一起来观察源码的实现,知其然更要知其所以然。(当前利用go版本为1.22.2)
1核心数据布局
团体的接口实现和布局体embed图
1.1Context接口
context接口定义了四个方法:
Deadline方法返回context是否为timerctx,以及它的结束时间
Done方法返回该ctx的done channel
Err方法返回该ctx被取消的原因
Value方法返回key对应的value
2emptyCtx
先来观察源码
[code]type emptyCtx struct{}func (emptyCtx) Deadline() (deadline time.Time, ok bool) { return}func (emptyCtx) Done()
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4