package main import ( "context" "io" "os/signal" "syscall" ) func main() { ctx, can := signal.NotifyContext(context.Background(), syscall.SIGINT) defer can() if err := run(ctx); err != nil { panic(err) } } func run(ctx context.Context) error { return io.EOF }