func main() {
log.SetDefault(log.NewLogger(log.NewTerminalHandlerWithLevel(os.Stderr, log.LevelInfo, true)))
app := NewCli(GitCommit, GitData)
ctx := opio.WithInterruptBlocker(context.Background())
if err := app.RunContext(ctx, os.Args); err != nil {
log.Error("Application failed")
os.Exit(1)
}
}
opio.WithInterruptBlocker(context.Background())
// 这个方法的作用是否是增加一个信号中断处理器,用于通知给上下文。
什么场景下需要这样搞??
Interrupt 信号扑捉
也可以按照下面的方法改写
log.SetDefault(log.NewLogger(log.NewTerminalHandlerWithLevel(os.Stderr, log.LevelInfo, true))) app := NewCli(GitCommit, GitData) //ctx := opio.WithInterruptBlocker() if err := app.RunContext(context.Background(), os.Args); err != nil { log.Error("Application failed") os.Exit(1) }