Wil*_*son 5 integer if-statement range swift
我想知道是否有任何平滑的方法来检查swift范围内的整数值.
我有一个整数,可以是0到1000之间的任何数字
我想写一个if语句,"如果整数在300到700之间 - 这样做,如果有任何其他数字 - 做其他事情"
我可以写:
if integer > 300 {
if integer < 700 {
//do something else1
}
//do something
} else {
// do something else2
}
Run Code Online (Sandbox Code Playgroud)
但是我想最小化要编写的代码量,因为"做其他事情1"和"做其他事情2"应该是相同的
你好像不能写:
if 300 < integer < 700 {
} else {
}
Run Code Online (Sandbox Code Playgroud)
我试过用
if integer == 300..<700 {
}
Run Code Online (Sandbox Code Playgroud)
但那也不起作用.有人有个建议吗?
CrA*_*HeR 12
你试过这个吗?
if integer > 300 && integer < 700 {
// do something
} else {
// do something else
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助
有一个类型,HalfOpenInterval可以用它构造,...并且有一个.contains方法:
if (301..<700).contains(integer) {
// etc.
}
Run Code Online (Sandbox Code Playgroud)
注意,301..<700它自己会创建一个Range没有contains函数的函数,但是Swift的类型推断会看到你正在调用一个只有的方法,HalfOpenInterval所以选择那个特定的重载.
我之所以提到这一点,只是因为如果你想将间隔存储为变量而不是在线使用它,你需要指定:
let interval = 301..<700 as HalfOpenInterval
if interval.contains(integer) {
// etc.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15062 次 |
| 最近记录: |