Context本质 golang标准库里Context实际上是一个接口(即一种编程规范、一种约定)。 typeContextinterface{ Deadline()(deadlinetime.Time,okbool) Done()<-chanstruct{} Err()error Value(keyany)any } 通过查看源码里的注释,我们得到如下约定: Done()函数返回一个只读管道,且管道里不存放任何元素(struct{}),所以用这个管道就是为了实现阻塞 Deadline()用来记录到期时间,以及是否到期。 Err()用来记录Done()管...