Groovy:if-else的正确用法
我有一个groovy代码,它本身运行良好:Groovy:if-else的正确用法,groovy,Groovy,我有一个groovy代码,它本身运行良好: def msg = "$evt.displayName was locked7 ${userName ? "by " + userName + " " : ""}$lockMode" // Default message to send 当我把它放在这个简单的if-else块中时,它根本不起作用(第一个条件和else条件都不起作用) 我的代码中有错误吗?如果在If或else条件之后有单行语句,则可以使用If..else语句而不使用{},对于多
def msg = "$evt.displayName was locked7 ${userName ? "by " + userName + " " : ""}$lockMode" // Default message to send
当我把它放在这个简单的if-else块中时,它根本不起作用(第一个条件和else条件都不起作用)
我的代码中有错误吗?如果在If或else条件之后有单行语句,则可以使用If..else语句而不使用{},对于多个语句,必须使用大括号{}
def msg = ""
int i = 999
if (i == 999)
msg = "$evt.displayName was locked via One Touch" // Default message to send
else
msg = "$evt.displayName was locked7 ${userName ? "by " + userName + " " : ""}$lockMode" // Default message to send
println "MESSAGE: "+msg
有关您的问题的更多信息
def
if或else
外部不起作用时内部的变量(您的问题场景)
def
无处不在(wkt)def
它们,如下所示的代码。代码:
int i=999
if (i==999)
msg = "$evt.displayName was locked via One Touch" // Default message to send
else
msg = "$evt.displayName was locked7 ${userName ? "by " + userName + " " : ""}$lockMode" // Default message to send
println "MESSAGE: "+msg
您所说的不起作用的问题/错误是什么?没有错误。它什么都不做。执行将在if或else中进行?当我从if-else语句中使用它并打开锁时,我会收到一个推送通知,但当它在语句中时不会发生任何事情。这似乎不完整代码,“def msg”应该是全局变量谢谢。所以def不能放在if else语句中?是的,因为它不会在块之外解析谢谢。问题在于def,而不是大括号(谢谢你的回答:)
int i=999
if (i==999)
msg = "$evt.displayName was locked via One Touch" // Default message to send
else
msg = "$evt.displayName was locked7 ${userName ? "by " + userName + " " : ""}$lockMode" // Default message to send
println "MESSAGE: "+msg