您的位置:时时app平台注册网站 > 编程知识 > 斯威夫特—分支

斯威夫特—分支

2019-11-21 02:23

 break;

*相称区间*

* 闭区间操作符 . . . 包涵头包罗尾

* 半开区间操作符 . .< 饱含头不带有尾

'' var age1 = 10

''        switch age1 {

''        case 0:

''          print("0")

''        case 1..<18:

''          print("未成年")

''        case 18..<30:

''          print("成年")

''        default:

''          print("老年人")

''        }

''        //: 相称元祖

''        var point = (50, 50)

''        switch point{

''          // 独有where前面包车型客车尺度表明式为真才赋值并实践case后的言辞

''        case (0, 0):

''          print("原点")

''        case (50, 50):

''          print("中点")

''        default:

''          print("Other")

''        }

''        //: 值绑定(Value Bindings)

''        switch point{

''          // 唯有where前边的口径表达式为真才赋值并实行case后的语句

''        case var(x, y) where x > y:

''          print("(x) > (y)")

''        case var(x, y) where x < y:

''          print("(x) < (y)")

''        default:

''          print("Other")

''        }

 }

*三目运算符*

* 三目运算符的分外在于它是有四个操作数的运算符,它简洁地发挥依照标题建设构造与否做出二选大器晚成的操作

* 格式: 问题 ?答案一 : 答案二

* 提醒 : swift中三目运算符用得相当多

* 注意 :过度施用三目运算符会使简洁的代码变的难懂。我们应防止在一个结合语句中采取多个三目运算符

let result = intValue > 20 ? 20 : 19

 case 'A':

*Bool类型*

* c语言和OC语言没有真正的BOOL类型

* OC语言的Bool类型YES/NO是`typedef signed char BOOL;`非0即真

* swift引进了着实的BOOL类型true / false

* swift中逻辑唯有三个 true / false

* 纵然你在急需运用BOOL类型的地点接受了非布尔值,swift的花色安全体制会报错

if intValue = 10 { } //这种可能将判定写错,swift有效的制止了这种场合

'' if intValue == 10 {

''    print(intValue)

'' }

 NSLog(@"优");

*分支switch*

* OC中case前面总得抬高break不然会贯通,swift不用

* swift中假若想选择贯穿必需使用 fallthrough

* OC中能够不写default,swift中唯有满意全部法则技术忽略default

* OC中default可以随意放,swift不得以

* OC中case中定义变量要求加大括号,否则功能域混乱,swift不用加大括号

* swift的switch能够看清间隔和元祖

* swift中case分支的格局能够行使where语句来剖断额外的条件

在意:swift中各个case分支都不得不含有最少一条语句, 不像 C 语言里的switch语句,在 斯威夫特 中,switch语句不会同期合营两个标准

'' //OC中写法

'' switch(rank){

'' case "A":

'' case "B":

''    NSLog(@"还不错")

''    break

'' case "C":

''    NSLog("差")

''    break

'' }

'' //swift 写法 default不可能随意放,只好放在最终

'' var rank = "A"

'' switch rank{

'' //    default:

'' //    print("未有评级")

'' case "A", "B":

''    var num = 10

''    print("优")

''    fallthrough

'' case "C":

''    print("差")

'' default:

''    print("未有评级")

'' }

/*

*分支if*

* 斯维夫特 提供了肖似 C 语言的流水生产线调整结构(if/switch/for/while/dowhile)

* 只好以Bool作为条件语句

* 条件语句无需加(卡塔尔

* {}一定要难

* swift中if分支的模式能够接纳where语句来判别额外的规范化

* 其它跟OC中if一样

let intValue = 10

'' if intValue > 2{

''    print("yes")

'' }

'' //用where额外推断

'' let testValue: Int? = 10

'' if let d = testValue where testValue > 9{

''    print"满足了"

'' }

 }

 print("C")

 break;

 

 NSLog(@"优");

 switch rank2{

    case "A":  // 相当于if

 NSLog(@"优");

 

/*

 print("C")

    print("坐标的X和Y在1~10时期") // 能够在元祖中再增加区间

 print("B")

 NSLog(@"未有评级");

 //不得不写default

 switch (rank) {

    case var(x,y):

 NSLog(@"良");

 NSLog(@"优");

 }

 

 */

 case "C":

case (1...10, 10...20):

 default:

case var(x, y) where x > y:

case (0, 0):

    case "B": // 相当于 else if

 case 'C':

}

 OC:

 break;

 能够不写default

 NSNumber *num = @100;

 NSLog(@"良");

case "B":

 

*/

}

    print("其他")

 switch (rank) {

 break;

 default地点能够任由放

//能够不写break

 break;

var point = (101, 100)

    case "C": // 相当于 else if

 break;

 case "C":

case "A", "B": // 注意OC无法如此写

 

 default:

 case "A":

 }

var num = 10

 

 case 'A':

 }

 case "C":

 switch (num) {

 char rank = 'A';

 */

    default:

 print("B")

//不得以穿透

}

 break;

 

case "C":

 {

case "A":

 NSLog(@"优");

var rank1 = "A"

    print("B")

 因为不能够穿透所以不能够那样写

 break;

switch rank{

 NSLog(@"差");

    print("C")

    case (var x, 10):   // 会将point中的x赋值给

 case 'A':

var rank4 = "A"

 NSLog(@"差");

 */

 能够穿透

 NSLog(@"未有评级");

 格式: switch(须求合营的值) case 相称的值: 要求进行的口舌 break;

case "C":

 case 'A':

    print("其他数")

 

    print("C")

 case 'C':

 }

 

 NSLog(@"差");

 print("A")

 break;

 case 'B':

}

 break;

 switch (rank) {

 case 'B':

 

 不可能剖断目的类型

default:

 在case中定义变量要求加大括号, 不然功能域混乱

      print("A")

 

 switch (rank) {

    print("x = (x) y = (y)")

 

switch rank4{

 int score = 100;

    print("其他")

 case 'C':

var point = (10, 15)

 break;

 NSLog(@"未有评级");

 */

    // 独有where前边的基准表达式为真才赋值并推行case后的语句

 }

 break;

 print("B")

 print("其他")

 //default地方只可以在最后

switch rank1{

default:

 print("C")

    print("A&&B")

    print("Other")

 NSLog(@"差");

 print("A")

 case 'B':

//值绑定

 case 'A':

斯威夫特—分支。 default:

 default:

 

 case 'B':

 var rank1 = "A"

 NSLog(@"良");

switch point{

 */

        print("x = (x) y =(y)")

 }

 break;

 char rank = 'A';

      print("B")

switch num{

 NSLog(@"良");

    print("坐标原点")

      print("其他")

//只好那样写

 break;

 case "B":

 case "A":

  default:

 break;

 char rank = 'A';

    default:  // 相当于 else

default:

//依照条件绑定

 char rank = 'E';

 case 'B':

/** Swift:能够看清指标类型, OC必得是整数 **/

 case "B":

 

 switch (rank) {

 NSLog(@"差");

 }

 default:

 case 'C':

 print("其他")

 var rank3 = "A"

switch point{

    var num = 10

 {

 case "B":

/*

  case 10...99:

/*

 

//在case中定义变量不用加大括号

 break;

 switch rank1{

    print("十位数")

 }

}

 case "A":

  case 1...9:

 NSLog(@"良");

    print("个位数")

var rank = "A"

 int score = 100;

    print("A")

    switch point{

斯威夫特—分支。 Swith

 break;

var point = (1, 10)

        print("x = (x)")

      print("C")

    }

 NSLog(@"未有评级");

default:

 

 switch rank3{

 break;

    case (var x, var y): // 会将point中xy的值赋值给xy

 }

/*

斯威夫特—分支。 var rank2 = "A"

 char rank = 'A';

间距和元祖相配

 

        print("Other")

 case @100:

    print("Other")

        print("x = (x) y = (y)")

 case 'C':

 default:

/*

 break;

 NSLog(@"优");

}

本文由时时app平台注册网站发布于编程知识,转载请注明出处:斯威夫特—分支

关键词: