2016-10-16 56 views
4

我试图创建一个Switch语句(Swift),它在case大于给定数字时返回一个String。我知道这可以用“if”或“else if”语句来完成,但我正在用Switch语句完成此操作。可以这样做吗?或者是一个Switch语句无法利用“大于”比较运算符?Swift:在switch语句中使用比较运算符

var score = 101 
var letterGrade = "" 

switch score{ 
    case >100: 
    letterGrade = "A+ With Extra Credit" 
case 90...100: 
    letterGrade = "A" 
case 80...89: 
    letterGrade = "B" 
case 70...79: 
    letterGrade = "C" 
case 60...69: 
    letterGrade = "D" 
default: 
    letterGrade = "Incomplete" 
} 
+0

你也可以写'案件101 ... Int.max: ...' –

回答

5

是一个简单的解决方案,将其绑定到这样一个常数:

var score = 101 
var letterGrade = "" 

switch score{ 
case let x where x > 100: 
    letterGrade = "A+ With Extra Credit" 
case 90...100: 
    letterGrade = "A" 
case 80...89: 
    letterGrade = "B" 
case 70...79: 
    letterGrade = "C" 
case 60...69: 
    letterGrade = "D" 
default: 
    letterGrade = "Incomplete" 
} 

这作品完全一样,你需要