26 lines
395 B
Go
26 lines
395 B
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"fmt"
|
||
|
)
|
||
|
|
||
|
func main() {
|
||
|
type favContextKey string
|
||
|
|
||
|
f := func(ctx context.Context, k favContextKey) {
|
||
|
if v := ctx.Value(k); v != nil {
|
||
|
fmt.Println("found value:", v)
|
||
|
return
|
||
|
}
|
||
|
fmt.Println("key not found:", k)
|
||
|
}
|
||
|
|
||
|
k := favContextKey("language")
|
||
|
ctx := context.WithValue(context.Background(), k, "Go")
|
||
|
|
||
|
f(ctx, k)
|
||
|
f(ctx, favContextKey("color"))
|
||
|
|
||
|
}
|