假设我尝试获取锁,失败,并想退出程序。
err = syscall.Flock(lockfd, syscall.LOCK_EX|syscall.LOCK_NB)
if err == syscall.EAGAIN {
os.Exit(err)
}
问题是您需要将一个整数传递给 os.Exit。
我试过了:
os.Exit(int(err))
os.Exit(syscall.EAGAIN)
// Compiles fine, but the cast fails.. no idea why
eerr, _ := err.(*syscall.Errno); os.Exit(int(*eerr))
// panics
reflect.ValueOf(err).Int()
似乎您可以将 syscall.Errno 与其他整数进行比较,但实际上试图获取它的值却让我望而却步......
繁华开满天机
缥缈止盈
相关分类