我正在使用 Swift 5.0 编写一个应用程序来让我的角色在世界各地移动,但我在 if
条件体中的 NOT (!) 运算符遇到了一些问题。
我写道:
if character.!isBlocked {
character.moveForward()
}
但编译器说:错误:“.!”它不是二元运算符
相反,如果我写
if character.isBlocked {
character.turnBack()
}
它完美地工作。是否可以将否定从句用作 if
条件从句?
最佳答案
如果您的目标是验证为“if not”,那么您应该将其实现为:
if !character.isBlocked {
character.moveForward()
}
逻辑 NOT !
运算符是一个一元 prefix 运算符:
一元:针对单个目标。
前缀:应该在目标之前。
那么,为什么它应该在 character.isBlocked
而不是 isBlocked
之前?
因为 character.isBlocked
是要评估的 bool 值,所以 isBlocked
是属性名称。正确的语法是使用 !
来评估整个事物( bool 值)。
关于swift - Swift 子句中的 NOT 运算符问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56792240/