package main
import (
"context"
"fmt"
)
func main() {
ctx := context.WithValue(context.Background(), "base", "baseVal")
ctx1 := context.WithValue(ctx, "ctx1", "ctx1Val")
ctx2 := context.WithValue(ctx, "ctx2", "ctx2Val")
ctx3 := context.WithValue(ctx, "ctx3", "ctx3Val")
fmt.Println(ctx)
fmt.Println(ctx1)
fmt.Println(ctx2)
fmt.Println(ctx3)
}
// 结果:
// context.Background.WithValue(type string, val baseVal)
// context.Background.WithValue(type string, val baseVal).WithValue(type string, val ctx1Val)
// context.Background.WithValue(type string, val baseVal).WithValue(type string, val ctx2Val)
// context.Background.WithValue(type string, val baseVal).WithValue(type string, val ctx3Val)