Context in Go
Go provides a context package that can be used to manage the context of a request or a function call. The context package provides a way to propagate deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
Here's an example of using the context package to set a deadline for a function call:
func search(ctx context.Context, query string) ([]string, error) {
deadline, ok := ctx.Deadline()
if !ok {
return nil, errors.New("no deadline set")
}
if time.Until(deadline) < 0 {
return nil, errors.New("deadline exceeded")
}
// perform search
}
No comments:
Post a Comment