先来个测试代码
let 字符串 = "测试字符串"
switch 字符串 {
case "测试":
println("测试就是两个字!")
case "字符串":
println("字符串能吃吗?")
case "位置":
println("不知道耶。。")
case "测试字符串":
println("终于对啦!")
}
编译不通过,提示必须要有default
这是真的吗?未必,我们再来看一段代码
let 字符串 = "测试字符串"
switch 字符串 {
case "测试":
println("测试就是两个字!")
case "字符串":
println("字符串能吃吗?")
case "位置":
println("不知道耶。。")
case "测试字符串":
println("终于对啦!")
case let 测试:
println("呵呵..没有default吧?")
}
编译成功,运行成功,输出结果为
这是为什么呢?个人认为是因为case中的最后一个条件,这个条件无论前面的条件怎样都是正确的,也就是说它相当于default,所以switch在判断case所有可能都实现了以后,就不需要default了~~
个人见解,如果各位有更好的想法欢迎讨论~
let 字符串 = "测试字符串"
switch 字符串 {
case "测试":
println("测试就是两个字!")
case "字符串":
println("字符串能吃吗?")
case "位置":
println("不知道耶。。")
case "测试字符串":
println("终于对啦!")
}
编译不通过,提示必须要有default
这是真的吗?未必,我们再来看一段代码
let 字符串 = "测试字符串"
switch 字符串 {
case "测试":
println("测试就是两个字!")
case "字符串":
println("字符串能吃吗?")
case "位置":
println("不知道耶。。")
case "测试字符串":
println("终于对啦!")
case let 测试:
println("呵呵..没有default吧?")
}
编译成功,运行成功,输出结果为
这是为什么呢?个人认为是因为case中的最后一个条件,这个条件无论前面的条件怎样都是正确的,也就是说它相当于default,所以switch在判断case所有可能都实现了以后,就不需要default了~~
个人见解,如果各位有更好的想法欢迎讨论~