本文共 614 字,大约阅读时间需要 2 分钟。
contxt保存上下文适合全局参数传递,而普通的参数传递就没必要用context,因为不好维护
关于context具体用法可以参考:
package mainimport ( "context" "fmt")func processPassValue(ctx context.Context){ ret, ok := ctx.Value("trace_id").(int) if !ok { fmt.Println("取值trace_id出错!") } fmt.Println(ret) sessino_id, ok := ctx.Value("session_id").(string) if !ok { fmt.Println("取值session_id出错!") } fmt.Println(sessino_id)}func main(){ //context是树形结构,context.Background()主要用于main函数、初始化以及测试代码中,作为Context这个树结构的最顶层的Context ctx := context.WithValue(context.Background(),"trace_id",123456) ctx = context.WithValue(ctx,"session_id","fgadgsdfsdfsdfasfd") processPassValue(ctx)}
结果:
转载地址:http://xzwsi.baihongyu.com/