首页 > 其他分享 >Golang - context.TODO()和context.Background()的区别

Golang - context.TODO()和context.Background()的区别

时间:2023-11-28 14:11:47浏览次数:38  
标签:context TODO background Golang Background 上下文 todo

context.Background():上下文的默认值(创建上下文的默认起点),这个函数返回一个空context,返回值就是根节点,这只能用于最高等级(在main函数、初始化或顶级请求处理中),因为所有其他的上下文都应该从它衍生(Derived)出来

context.TODO():通常用作占位符或临时解决方案,只在不确定应该使用哪种上下文时使用

说明:

1)、background 和 todo 本质上都是 emptyCtx 结构体类型,是一个不可取消(只能调用cancel()函数取消继承于background 和 todo的context,background 和 todo本身不能被取消),没有设置截止时间,没有携带任何值的Context

2)、给一个函数方法传递Context的时候,不要传递nil,如果不知道传递什么,就使用context.TODO

标签:context,TODO,background,Golang,Background,上下文,todo
From: https://www.cnblogs.com/beatle-go/p/17861839.html

相关文章