Go语言学习之context构造方法介绍

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

上一篇:Android 序列化之Serializable和Parcelable,Context都没弄明白凭什么拿高薪


下一篇:Spring Boot 注解原理,自动装配原理,图文并茂