一、这篇文章我们简要讨论Golang的Context有什么用
1、首先说一下Context的基本作用,然后在讨论他的实现
(1)数据传递,子Context只能看到自己的和父Context的数据,子Context是不能看到孙Context添加的数据。
(2)父子协程的协同,比如同时取消父子协程。
2、基本数据结构
Context的结构我们可以看一张图
其实可以把Context 理解成一个特殊的哈希表,我们可以看看他的结构体。
Value接口,就是放入key和Value。
Done()接口是一个管道,负责接收父协程的结束信号量
一个Context A可以生成另一个Context B,并且Context B会继承 Context A的数据
3、实际场景应用
Context可以用来保存一些账户信息,包括用户名、邮箱等多个接口可能需要的公共信息