- package main
-
- import (
- "context"
- "fmt"
- "time"
- )
-
- func main() {
- ctx,cancelFunc := context.WithDeadline(context.Background(),time.Now().Add(time.Second*10))
- t,ok := ctx.Deadline()
- if ok {
- fmt.Println(time.Now())
- fmt.Println(t.String())
- }
- go func(ctx context.Context) {
- fmt.Println(ctx.Value("Test"))
- <-ctx.Done()
- fmt.Println(ctx.Err())
- }(ctx)
-
- if ctx.Err() == nil {
- time.Sleep(11e9)
- }
- if ctx.Err() != nil {
- fmt.Println("已经退出了")
- }
- cancelFunc()
- }