Go语言学习之context构造方法介绍
Context 构造
-
初始化方法
func Background() Context{} func TODO() Context {} // 上面方法均会返回空的 Context
-
方法区别
Background方法
Background 返回non-nil(非零),空的 Context。它从未被取消,没有值,也没有最后期限。它通常由主函数,初始化和测试使用,并作为传入请求的top-level Context (*上下文)。一般是所有 Context 的基础,所有 Context 的源头都应该是它。
TODO 方法
TODO 返回非零空的上下文。当不清楚使用哪个 Context或它尚不可用时(因为周围的函数尚未扩展为接受Context参数),代码应该使用context.TODO。TODO 被静态分析工具识别,以确定上下文是否在程序中正确传播。一般用于当传入的方法不确定是哪种类型的 Context 时,为了避免 Context 的参数为nil而初始化的 Context。
参考链接
-
上下文 | context
https://cloud.tencent.com/developer/section/1140703
-
Golang Context 原理与实战
https://segmentfault.com/a/1190000022534841
-
聊一聊Go的Context上下文
https://juejin.cn/post/6844904161390116872