我如何编写if-else if代码正确

时间:2019-02-01 21:37:12

标签: swift if-statement

我试图制作一个if-else if语句,在“ else if”行(Int类型)中编写两个比较运算符。也许语法错误?

我尝试从'boysAge> = 21'中删除括号,但结果相同

var boysAge = 21
var message = "The customer is "
if boysAge < 21 {
    message += "underage"
}
else if (boysAge >= 21) && <70 {
    message += "allowed"
}
print(message)

xcode表示“ <”不是前缀一元运算符

3 个答案:

答案 0 :(得分:1)

var boysAge = 21
var message = "The customer is "
if boysAge < 21 {
message += "underage"
}
else if boysAge >= 21 && boysAge < 70 {
  message += "allowed"
}
print(message)

您缺少<70之间的空格,因此您需要说出要再次检查的变量,所以boysAge < 70。括号也不是必需的。

答案 1 :(得分:1)

您的代码应以这种方式工作:

Private Property Get SelectedItemDisplayText() As String
    SelectedItemDisplayText = MyComboBox.List(MyComboBox.ListIndex, 1)
End Property

如果if boysAge < 21 { message += "underage" } else if boysAge < 70 { message += "allowed" } 严格不小于21,那么它当然大于或等于boysAge。因此,您无需再次检查。

另一种方式是:

21

使用if boysAge < 21 { message += "underage" } else if 21..<70 ~= boysAge { message += "allowed" } 运算符。


在我看来,这是使用开关盒的好地方:

~=

然后您可以根据自己的喜好调整范围。

答案 2 :(得分:0)

条件(boysAge >= 21) && <70不正确。 <是二进制运算符。这意味着它需要左侧和右侧。编写条件的正确方法是:

boysAge >= 21 && boysAge < 70

但是,请注意,boysAge >= 21部分不是必需的,因为它已在上一个分支中介绍过。

var boysAge = 21
var message = "The customer is "
if boysAge < 21 {
    message += "underage"
}
else if boysAge < 70 {
    message += "allowed"
}
print(message)