猿问

单个 if 语句中的 nil 检查和错误检查

我试图在单个 if 语句中进行 nil 检查,然后进行方法错误检查。由于如果第一个条件为 true,OR 运算符不会检查任何其他条件,因此我想我可以这样做,以避免 nil 指针崩溃并一起处理错误:

if (uc.registry == nil) || (serviceName, err = uc.registry.GetServiceName(itemKind, key); err != nil) {}

这会产生语法错误,因为它似乎尝试将第一个条件的结果与 的字符串值进行比较serviceName

是否有可能做到这一点?


郎朗坤
浏览 132回答 1
1回答

www说

根据文档,条件必须出现在 的右侧(如果;存在)。它是错误检查和地图查找等简单情况的简写。你正在做的事情需要两个声明。if
随时随地看视频慕课网APP

相关分类

Go
我要回答