Swift3 为什么';你不能执行吗?
我有以下资料:Swift3 为什么';你不能执行吗?,swift3,Swift3,我有以下资料: guard let _ = myfunction() else { print("guard just executed") return false } myfunction返回false,但未执行保护中的代码。这不是守卫应该执行的正确场景吗 该功能定义为: func myfunction() -> Bool? 但是只返回true或false(不是可选值)。guard let用于包装可选值,以便在您的情况下,guard let=myfunction()否则{始
guard let _ = myfunction() else {
print("guard just executed")
return false
}
myfunction
返回false,但未执行保护中的代码。这不是守卫应该执行的正确场景吗
该功能定义为:
func myfunction() -> Bool?
但是只返回true或false(不是可选值)。
guard let
用于包装可选值,以便在您的情况下,guard let=myfunction()否则{
始终返回true,如果您还想检查(比较)它的值您需要用guard
语句再添加一个条件,语句之间用分隔,
如下所示
guard let flag = myfunction(), flag else {
print("guard just executed")
return false
}
guard let
用于包装可选值,以便在您的情况下,guard let=myfunction()否则{
始终返回true,如果您还想检查(比较)其值,则需要使用guard
语句以分隔,再添加一个条件
guard let flag = myfunction(), flag else {
print("guard just executed")
return false
}
如果myfunction()的结果
不是零,无论它是否返回Int?
,String?
,Bool?
等。如果结果不是零,则展开的Bool?
值是否为真或假都无关紧要,同样地,Int?
的展开值是否为5,37也无关紧要或2089
仅当myfunction
的结果为零时,让{=myfunction()else{}
进入保护状态。如果myfunction()的结果为
不是零,无论它是否返回Int?
,String?
,Bool?
等。如果结果不是零,则展开的Bool?
值是否为真或假都无关紧要,同样地,Int?
的展开值是否为5,37也无关紧要或2089
guard let{=myfunction()else{}
仅当myfunction
的结果为nil时才进入保护条件。guard let
需要一个可选参数,如果只需要检查布尔结果,则有一个更简单的语法
guard myfunction() else { ...
guard let
需要一个可选参数,如果只需要检查布尔结果,则有一个更简单的语法
guard myfunction() else { ...
如果我返回的是非可选布尔值,那么就不需要guard了?@4thSpace是的,正是mate:)@LeoDabus感谢guard case let
的建议。@LeoDabus:谢谢,但如果只有一个条件,我想guard case let
与简单的If
条件没有任何优势?@LeoDabus:很酷。谢谢你的澄清。如果我正在返回非可选布尔值,guard不是真的需要吗?@4thSpace是的,完全正确,mate:)@LeoDabus感谢guard case let
的建议。@LeoDabus:谢谢,但如果只有一个条件,我想guard case let
与简单的if
条件相比没有任何优势?@LeoDabus:酷。谢谢你的澄清。